1、async定义的函数,不写return,调用后返回的是一个promise
2、await后面的代码相当于异步回调。
3、await相当于then
4、await后面写值相当于外面包裹了一层Promise.resolve。
示例代码:
async function async1() {
console.log(1)
}
let p1 = async1()
console.log(2)
// console.log(p1)
//结论:1、async定义的函数,不写return,调用后返回的是一个promise
async function async2() {
await async1()
console.log(3)
}
let p2 = async2()
console.log(4)
//结论:2、await后面的代码相当于异步回调。
async function async3 () {
console.log('async3')
return Promise.resolve('async3 data')
}
!(async function(){
let result = await async3()
console.log("async3-result =>",result)
})() //此为匿名函数,定义后调用
//结论:3、await相当于then
!(async function(){
let result = await Promise.resolve(123)
console.log("result1 =>",result)
})()
//结论:4、await后面写值相当于外面包裹了一层Promise.resolve。