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

相关推荐
猫猫不是喵喵.17 分钟前
Vue3 Props 属性
前端·javascript·vue.js
醉城夜风~1 小时前
CSS元素显示模式(display)
前端·css
AI大模型-小华2 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro
做前端的娜娜子4 小时前
同一链接实现 PC Web 与移动 H5 自适应
前端·掘金·金石计划
小帅不太帅4 小时前
架构没变、规模没变,DeepSeek V4 Flash 正式版凭什么暴涨 47 分?
前端·aigc·deepseek
jarvisuni5 小时前
DeepSeekFlash前端依旧拉垮,而且变慢了很多!
前端·javascript·算法
卷福同学6 小时前
AI编程出海第二步:验证关键词能否做站
前端·人工智能·后端
赵庆明老师6 小时前
Vben精讲:21-详解web-antd:tsconfig.json
前端·json·vim
wc887 小时前
微软EDGE浏览器功能学习
前端·学习·edge