这篇文章给大家分享的是有关JavaScript中使用async和await执行异步处理的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
Async/await是一个主要功能,可以更简洁有效地描述Promise的异步处理,异步处理是无需等待处理结果就能马上执行下一个处理的机制,它可以很容易地通过使用Promise来实现。
在Promise的情况下,我们使用“then”来连接,因此它会变成很单调的代码。
例如,如果使用“then”运行多个Promise进程,它看起来像这样:
getDate() .then(function(data) { return getYear(data) }) .then(function(year) { return getSomething(year) }) .then(function(item) { getAnotherThing(item) })
在某些情况下,使用Promise.all()可以更好的实现,但仍然必须使用then。
我们如果学习了如何使用async/await,这样就可以提高效率了。
如何使用async/await?
我们先来看一下基本的语法
async可以定义一个函数,只需在function之前写入就可以执行异步处理。
async function() { }
如果这样写async,这个函数将返回Promise。
此外,await是Promise处理的结果返回之前暂时停止的运算符。
await Promise处理
通过在描述Promise处理的函数之前简单地写await,它会暂停直到结果返回。
但是,请注意await只能用于async中定义的函数!
同样由于这个原因,async / await经常会成对的使用。
如何使用async/await编写异步处理?
首先,假设有以下Promise处理。
function myPromise(num) { return new Promise(function(resolve) { setTimeout(function() { resolve(num * num) }, 3000) }) }
这个例子,明白在Promise内记述着故意花费3秒的时间的处理。
如果使用async/await而不使用then ,则如下所示。
async function myAsync() { var result = await myPromise(10); console.log(result); }
执行结果为:100
在这个例子中,通过赋予async来创建异步处理的函数。
描述函数内的Promise处理是myPromise()前的await
这将暂时等待Promise进程,该进程将在3秒后返回结果,并且一旦获得结果,函数内的进程将继续处理。
在执行结果中,可以获得给定参数10相乘的值100。
感谢各位的阅读!关于JavaScript中使用async和await执行异步处理的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。