async function async1 () {
console.log('async1 start');
await async2();
console.log('async1 end');
}
async function async2 () {
console.log('async2')
}
console.log('script start')
setTimeout(function() {
console.log('setTimeout')
}, 0);
async1();
new Promise(function (r) {
console.log('promise1');
r();
}).then(function() {
console.log('promise2')
});
console.log('script end');
async1 start
async2
promise
script end?
async1 end?
promise2?
setTimeout
表达上面的promise2
console.log('async1 start');
new Promise(function (r) {
?? ? console.log('async2')
r();
}).then(function() {
console.log('async1 end');
});