await 到底在等待什么

await 在等什么?------ 两种情况

等待一个 非 Promise 值(同步值)

js 复制代码
function getSomething() {
  return "something";
}

async function test() {
  const v1 = await getSomething(); // 等待 "something"
  console.log(v1); // 立即输出: something
}

test();

await 遇到非 Promise 值时,不会真正"等待" ,而是立即返回该值。

等待一个 Promise 对象

js 复制代码
function testAsy(x) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(x);
    }, 3000);
  });
}

async function testAwt() {
  let result = await testAsy('hello world'); // 等待 Promise resolve
  console.log(result);    // 3秒后输出: hello world
  console.log('cuger');   // 3秒后输出: cuger
}

testAwt();
console.log('cug'); // 立即输出: cug

:只有当 await 右侧是 Promise 时,等待 promise 状态的改变,后的值

``

js 复制代码
async function fetchData() {
   let response = await fetch('https://api.example.com/data');
   //
   let data = await response.json();
   console.log(data);
}
fetchData();

fetch 成功值是一个异步对象,所以还得awiat

相关推荐
LinXunFeng7 小时前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
乘风gg10 小时前
为什么AI 时代来临,大部分人吃不到红利
前端·ai编程·claude
恋猫de小郭11 小时前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter
IT_陈寒11 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
恋猫de小郭11 小时前
解读 Android 17 全新内存限制,有没有“豁免”后门?
android·前端·flutter
Hyyy12 小时前
理解LLM的基本工作原理:预训练、微调、推理的区别
前端
Gatlin13 小时前
前端逆向与反逆向:一场猫鼠游戏的底层逻辑与实战
前端
Pedantic13 小时前
本地通知(Local Notifications)学习笔记
前端
森蓝情丶14 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端
爱勇宝14 小时前
干了近 8 年,一夜之间被裁:AI 时代,程序员最该害怕的不是 AI
前端·后端·程序员