async function fn() {
return new Promise((res, rej) => {
rej('数据是失败的')
})
}
const result = fn()
console.log(result);
result.then(value => {
console.log(value);
}, reason => {
console.log(reason);
})
let pro = new Promise((resolve, reject) => {
reject('数据失败了')
})
async function main() {
try {
let result = await pro;
console.log(result);
} catch(e) {
console.log(e);
}
}
main()
- async函数:async function fn() {};
- 返回的是一个promise对象,1.只要返回的不是一个promise类型的对象,则它返回的就是一个成功的promise对象;抛出错误时,2.返回的结果就是一个失败的promise;返回是一个promise,返回的是成功promise,则这个promise也是成功的,反之也是;
- await:必须写在async函数中,右侧的表达式一般为promise对象,返回的是promise成功的值,await的promise失败了,就会抛出异常,需要通过try…catch捕获处理;