加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

js中的async与await

发布时间:2020-12-14 23:47:34 所属栏目:资源 来源:网络整理
导读:前期项目中用到了es7中的async和await,也来总结下自己的理解吧。 一、是什么 async表示异步,而await可以看作async wait。个人对async与await的简单理解就是,我们可以用同步的方式去书写异步代码。当然,这也都是基于promise的。 二、比对 提到异步,不得

前期项目中用到了es7中的async和await,也来总结下自己的理解吧。

一、是什么

async表示异步,而await可以看作async wait。个人对async与await的简单理解就是,我们可以用同步的方式去书写异步代码。当然,这也都是基于promise的。

二、比对

提到异步,不得不提到promise,因此,我们来对比下两者写法的区别。

promise

一个很简单的例子,

new Promise(function(resolve,reject) {
    resolve(11);
}).then(function(data) {
    console.log(data);
}).then(function() {
    console.log('hiiii');
});

如果用await或者async该如何写呢?

await/async

function getA() {
    return new Promise(function(resolve) {
        resolve(11);
    });
}
function getB() {
    return new Promise(function(resolve) {
        resolve('hiiii');
    });
}
(async function () {
    let data = await getA(),dataB = await getB();
    console.log(data,dataB);
})();

乍一看,用async的改写后,代码量还上升了,但在实际调用的函数内部时,关系很明显,不像promise嵌套,不太容易看清。

三、简单使用

首先,async只能用于函数上,表明这是一个async函数,而await只能在被声明为async的函数内部使用。

还是刚才那个例子,当执行到 await getA()时,会先等待getA执行完成后,才会向下执行,而执行到await getB()时也是如此。

其他详细的可以查看:http://www.ruanyifeng.com/blog/2015/05/async.html。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读