function sleep(time) {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (time > 3000) {
resolve(true)
} else {
reject(false)
}
return;
}, time)
})
}
先来看传统的Promise
用then捕获成功执行的结果,用catch捕获失败的结果
sleep(1000).then((res) => {
console.log(res);
}).catch(err => {
console.log(err);
})
Async/Await
用async函数包裹,await + 函数名 表示执行Promise函数,直接返回成果的结果,若要获得失败的结果,用try/catch语句。
async function run () {
try {
let res = await sleep(1000);
} catch (err) {
// pass
}
}