try catch

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()

转自别人博客:https://wsydxiangwang.github.io/web/Async/6.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容