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

相关推荐
benbenAItalk14 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
2601_9628857214 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
西瓜太郎123414 小时前
Claude Code、Codex CLI、Gemini CLI 能否共用一枚 Key?先看协议选择矩阵
前端·api 网关·claude code·gemini cli·codex cli
陈随易16 小时前
在Finch用了62亿词元,我认为这是新一代Agent工具之神
前端·人工智能·后端
水域安全老周17 小时前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
计算机魔术师17 小时前
Anthropic CEO突然喊踩刹车,OpenAI罕见力挺:AI这辆车不能只踩油门了
前端
wing9818 小时前
从codex转战workbuddy使用一周的感受
前端·人工智能·后端
EatFan18 小时前
Java接入支付宝 JSAPI 支付保姆教程(二):流程讲解与前后端代码讲解
前端·spring boot·后端·微信小程序·小程序·uni-app
梦想平凡18 小时前
百游棋牌源代码开发搭建教程(五):房间创建、座位分配与请求幂等实现
前端·javascript·数据库·源代码管理
IT_陈寒18 小时前
Redis的Set操作居然能把我的服务整挂了?
前端·人工智能·后端