async/await 是基于 Promise 的语法糖,使异步代码更直观;async 函数自动返回 Promise,await 在 async 内暂停执行并等待 Promise 完成,支持 try/catch 统一错误处理,但需避免滥用导致性能下降。

async/await 是 JavaScript 中处理异步操作的语法糖,它基于 Promise,但让异步代码写起来像同步代码一样直观,大幅减少回调嵌套和 then 链,提升可读性和可维护性。
async 函数:自动返回 Promise
在函数声明前加 async,该函数就变成异步函数,无论内部是否含 await,它总会返回一个 Promise。如果函数返回普通值(比如字符串或数字),JavaScript 会自动用 Promise.resolve() 包装;如果抛出错误,则等价于 Promise.reject()。
- async function fetchData() { return "done"; }
fetchData() // 返回 Promise - 不加 async 的普通函数无法直接使用 await,会报语法错误
await:暂停执行,等待 Promise 完成
await 只能在 async 函数内部使用,它会让 JS 引擎“暂停”当前函数的执行(不阻塞主线程),等右侧的 Promise settle(fulfilled 或 rejected)后再继续。await 后面可以是 Promise、任意值,甚至 undefined —— 非 Promise 值会被自动转为已兑现的 Promise。
标签: javascript java js json 浏览器 栈 ai 并发请求
还木有评论哦,快来抢沙发吧~