You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中await处理Promise时,其回调参数由谁传递、传递什么?

关于Promise构造函数中resolve/reject参数的疑问解答

1. 是谁向Promise的匿名函数传递参数?

不是await语法,是JavaScript的Promise构造函数本身。当执行new Promise(executor)时,Promise构造函数会自动调用你传入的执行器函数(也就是那个匿名函数),并将resolve和reject作为参数传入其中。await仅用于等待Promise实例的状态变更,和这两个参数的传递逻辑没有关系。

2. 具体传递的是什么?

传递的是两个由JavaScript引擎内置实现的函数:

  • resolve:调用该函数会将Promise的状态从pending(等待中)切换为fulfilled(已完成)。如果调用时传入了值,这个值会成为Promise的成功结果,后续可通过await获取或.then()回调接收。
  • reject:调用该函数会将Promise的状态从pending切换为rejected(已拒绝),通常传入一个Error对象作为拒绝原因,这个原因会被try/catch块捕获或.catch()回调接收。

补充说明:这两个函数是Promise机制的核心部分,由语言层面提供,目的是让开发者能在异步操作完成或失败时,手动标记Promise的状态,无需自行定义这两个函数。

内容的提问来源于stack exchange,提问作者bavaza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 04:12:08