【关于Promise async await】
1. async
-
async的返回
async function testAsync () { return 'hello' } console.log(testAsync())
testAsync().then(res => {
console.log(res)
})
hello
-
promise.resolve
console.log(Promise.resolve('world'))
Promise.resolve('world').then(res => {
console.log(res)
})
world
总结:async函数返回的是一个Promise函数。async函数中如果return一个直接量,async会把这个直接量通过Promise.resolve()封装成Promise对象
console.log(new Promise(reslove => reslove('nihao')))
Promise.resolve('xxx') 等价于 new Promise(resolve => resolve('xxx'))
-
await在等什么
等待:正常情况下,await
命令后面是一个 Promise 对象。如果不是,会被转成一个立即resolve
的 Promise 对象。它只能在异步函数 async function 中使用。
返回值:返回 Promise 对象的处理结果。如果等待的不是 Promise 对象,则返回该值本身。