async
//1. 如果返回值非promise类型的数据,直接返回结果值
//2. 如果是promise类型的数据,返回成功或者失败的promise对象
//3. 抛出异常,返回失败的promise对象
async function num (params) {
// return 666
let p = new Promise((resolve, reject) => {
resolve('ok')
// reject('err')
})
console.log(p);
}
num()
await
//1.await右侧表达式一般为promise对象,但也可以是其它值
//2.如果是promise对象,await返回的是promise成功的值
//3.如果表达式是其它值,直接将此值做为await的返回值
//4.await必须写在async函数中,但async函数中可以没有await
//5.如果await失败了,就会抛出异常,需要通过try...catch捕获异常
async function main (params) {
let p = new Promise((resolve, reject) => {
resolve('ok')
// reject('err')
})
try {
let res = await p
console.log(res);
} catch (error) {
console.log(errror);
}
}
main()