1. ajax('./ajaxTest.json').then(function (value) {
    2. console.log(value, '00000000')
    3. return ajax(',.color.ts') // 返回一个新的对象
    4. }, function (error) {
    5. console.log(error)
    6. })
    7. ajax('./ajaxTest.json').then(function (value) {
    8. console.log(value, '00000000')
    9. return ajax(',.color.ts') // 返回一个新的对象
    10. }).catch(function (error) {
    11. console.log(error)
    12. })

    还可以在全局对象上注册一个unhandledrejection事件,处理那些代码中没有被手动捕获的promise异常,当然并不推荐使用。

    更合理的是:在代码中明确捕获每一个可能的异常,而不是丢给全局处理

    1. // 浏览器
    2. window.addEventListener('unhandledrejection', event => {
    3. const { reason, promise } = event
    4. console.log(reason, promise)
    5. //reason => Promise 失败原因,一般是一个错误对象
    6. //promise => 出现异常的Promise对象
    7. event.preventDefault()
    8. }, false)
    9. // node
    10. process.on('unhandledRejection', (reason, promise) => {
    11. console.log(reason, promise)
    12. //reason => Promise 失败原因,一般是一个错误对象
    13. //promise => 出现异常的Promise对象
    14. })