早期的async与await关键字并不是出自js的,它们最早出现在 C# 5.0 的语法中。
从字面意思来理解。async 是“异步”的简写,而 await 是等待的意思。
所以放在代码里,如果两个一起用,则意思是“等待一个异步的方法完成”。
看以下代码:
function getSomething() {
return "something";
}
async function testAsync() {
return Promise.resolve("hello async");
}
async function test() {
const v1 = await getSomething();
const v2 = await testAsync();
console.log(v1, v2);
}
test();
它会输出:
something
hello async
虽然它他的方法是异步的,但加上await后修饰后,它就会阻塞后面的代码执行,直到被调用的方法返回结果。
注:以上代码段引用 https://segmentfault.com/a/1190000007535316。更详细的解说,也可以访部上面网扯。