try catch只能捕获同步的错误
try{
new Promise((res, rej) => {
throw new Error('false')
})
} catch (err) {
console.log(err);
}
不过结合await使用是可以的 await相当于变为假同步了吧 我这样理解的
const fetchFailure = () => new Promise((resolve, reject) => {
setTimeout(() => { // 模拟请求
reject('fetch failure...')
})
})
async function main () {
try {
const res = await fetchFailure()
console.log(res, 'res')
} catch(e) {
console.log(e, 'e.message')
}
}
main()
网友评论