温馨提示×

温馨提示×

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

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

JavaScript异步函数怎么使用

发布时间:2022-03-03 16:29:16 来源:亿速云 阅读:133 作者:iii 栏目:web开发

这篇文章主要介绍了JavaScript异步函数怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript异步函数怎么使用文章都会有所收获,下面我们一起来看看吧。

  异步函数

  异步函数(async function)是 ECMAScript 2017 (ECMA-262) 标准的规范,几乎被所有浏览器所支持,除了 Internet Explorer。

  在 Promise 中我们编写过一个 Promise 函数:

  实例

  function print(delay, message) {

  return new Promise(function (resolve, reject) {

  setTimeout(function () {

  console.log(message);

  resolve();

  }, delay);

  });

  }

  然后用不同的时间间隔输出了三行文本:

  实例

  print(1000, "First").then(function () {

  return print(4000, "Second");

  }).then(function () {

  print(3000, "Third");

  });

  我们可以将这段代码变得更好看:

  实例

  async function asyncFunc() {

  await print(1000, "First");

  await print(4000, "Second");

  await print(3000, "Third");

  }

  asyncFunc();

  哈!这岂不是将异步操作变得像同步操作一样容易了吗!

  这次的回答是肯定的,异步函数 async function 中可以使用 await 指令,await 指令后必须跟着一个 Promise,异步函数会在这个 Promise 运行中暂停,直到其运行结束再继续运行。

  异步函数实际上原理与 Promise 原生 API 的机制是一模一样的,只不过更便于程序员阅读。

  处理异常的机制将用 try-catch 块实现:

  实例

  async function asyncFunc() {

  try {

  await new Promise(function (resolve, reject) {

  throw "Some error"; // 或者 reject("Some error")

  });

  } catch (err) {

  console.log(err);

  // 会输出 Some error

  }

  }

  asyncFunc();

  如果 Promise 有一个正常的返回值,await 语句也会返回它:

  实例

  async function asyncFunc() {

  let value = await new Promise(

  function (resolve, reject) {

  resolve("Return value");

  }

  );

  console.log(value);

  }

  asyncFunc();

  程序会输出:

  Return value

关于“JavaScript异步函数怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“JavaScript异步函数怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

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

AI