async/await 的使用
1.await 只能出现在 async 函数中
2.
await 等到了它要等的东西,一个 Promise 对象,或者其它值,然后呢?我不得不先说,await
是个运算符,用于组成表达式,await 表达式的运算结果取决于它等的东西。
如果它等到的不是一个 Promise 对象,那 await 表达式的运算结果就是它等到的东西。
如果它等到的是一个 Promise 对象,await 就忙起来了,它会阻塞后面的代码,等着 Promise 对象 resolve,然后得到 resolve 的值,作为 await 表达式的运算结果。
3.
function getSomething() { return "something"; } async function testAsync() { // return Promise.resolve("hello async");
return new Promise(resolve => {
setTimeout(() => resolve("long_time_value"), 3000);
});
} async function test() { const v1 = await getSomething(); const v2 = await testAsync(); console.log(v1, v2); } test();
function takeLongTime() {
return new Promise(resolve => {
setTimeout(() => resolve("long_time_value"), 1000);
});
}
async function test() {
const v = await takeLongTime();
console.log(v);
}
test();