async function displayNumbersSequentially() {
console.log('Start');
const valueFromPromise1 = await slowPromise(1000, 'Value from Promise 1');
console.log(valueFromPromise1);
const valueFromPromise2 = await slowPromise(500, 'Value from Promise 2');
console.log(valueFromPromise2);
console.log('End');
}
function slowPromise(delay, value) {
return new Promise(resolve => setTimeout(() => resolve(value), delay));
}
console.log('Before calling async function');
displayNumbersSequentially();
console.log('After calling async function, but before it completes');
打印顺序
Before calling async function
Start
After calling async function, but before it completes
Value from Promise 1
Value from Promise 2
End
async function foo() {
console.log(2);
console.log(await Promise.resolve(8));
console.log(9);
}
async function bar() {
console.log(await 6);
console.log(7);
}
console.log(1);
foo();
console.log(3);
bar();
console.log(5);
1 2 3 5 8 9 6 7