ECMAScript的async/await怎么用

发布时间:2025-05-05 11:22:58 作者:小樊
来源:亿速云 阅读:105

async/await 是 ECMAScript (ES) 2017 引入的一种异步编程模式,它允许你以同步的方式编写异步代码,使得异步代码更易于理解和维护。asyncawait 关键字通常与 Promise 一起使用。

async

async 关键字用于声明一个函数是异步的。异步函数总是返回一个 Promise 对象。如果函数内部返回一个值,该 Promise 将以该值解析;如果函数抛出一个错误,该 Promise 将被拒绝。

async function myAsyncFunction() {
  // ...
}

await

await 关键字只能在 async 函数内部使用。它用于等待一个 Promise 解析,并暂停 async 函数的执行,直到 Promise 完成(解析或拒绝)。然后函数会继续执行,并返回解析的值。

async function myAsyncFunction() {
  const result = await someAsyncOperation();
  console.log(result);
}

示例

下面是一个使用 async/await 的示例,它演示了如何顺序执行两个异步操作:

function delay(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function main() {
  console.log('Start');
  await delay(1000); // 等待1秒
  console.log('After 1 second');
  await delay(2000); // 等待2秒
  console.log('After 3 seconds');
}

main();

在这个示例中,main 函数被声明为 async,因此我们可以在其中使用 await 关键字。delay 函数返回一个在指定毫秒数后解析的 Promise。我们在 main 函数中使用 await 等待这些 Promise 解析,从而实现了顺序执行。

请注意,await 只会暂停它所在的 async 函数的执行,而不会阻塞整个程序。这意味着其他代码和事件仍然可以在等待期间继续执行。

推荐阅读:
  1. ECMAScript modules规范怎么写
  2. 什么是ECMAScript

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ecmascript

上一篇:ECMAScript的Promise如何处理异步

下一篇:ECMAScript的模板字符串怎样写

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》