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/asyncfunction 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()时也是如此。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |