美文网首页
async和await中的try...catch

async和await中的try...catch

作者: 前端老邹_伯通 | 来源:发表于2021-11-25 21:01 被阅读0次

1.Promise对象 用来执行 业务函数

  • 如果 业务成功,则 应该调用 resolve 函数,实参 会被 传给 then 回调函数中
  • 如果 业务失败,则 应该调用 reject 函数,实参 会被 传给 catch 回调函数中
  • 如果 出现异常,则 可以手动 会 自动 抛出异常,异常对象 会被 传给 catch 回调函数中
function hmtest() {
    new Promise(function (resolve, reject) {
        // 1.执行成功回调函数------------
        // resolve('大王,你快来抓我呀~!')

        // 2.执行失败(异常)回调函数------
        // reject('死鬼')
        // throw new Error('死鬼!'); // 手动抛出异常
        JSON.parse('asdfasdfasdf') // 自动抛出异常
    }).then((res1) => {
        console.log('res1->', res1)
    }).catch((e) => {
        console.log('---------------------------')
        console.log('出错啦:')
        console.dir(e)
        console.log('---------------------------')
    })
}

2.Promise对象 结合 async/await 关键字

  • 如果 业务成功,则 应该调用 resolve 函数,实参 会被返回给 前面的 res
  • 如果 业务失败,则 应该调用 reject 函数,实参 会被 传给 catch 回调函数中
  • 如果 出现异常,则 可以手动或自动抛出异常,异常对象会被传给catch 回调函数中
async function hmtest1() {
    // a.调用
    const res = await new Promise(function (resolve, reject) {
        // 1.执行成功回调函数------------
        // resolve('大王,你快来抓我呀~!')

        // 2.执行失败(异常)回调函数------
        // reject('失败了~~!')
        throw new Error('死鬼!');
    }).catch((e) => {
        console.log('---------------------------')
        console.log('出错啦:')
        console.dir(e)
        console.log('---------------------------')
    })

    // b.打印结果
    console.log('res->', res)

}
}

hmtest2()

3.Promise对象 结合 async/await + try...catch... 代码块

  • 如果 业务成功,则 应该调用 resolve 函数,实参 会被返回给 前面的 res
  • 如果 业务失败,则 应该调用 reject 函数,实参 会被 传给 catch 代码块的形参
  • 如果 出现异常,则 可以手动或自动抛出异常,异常会被传给 catch 代码块的形参
async function hmtest2() {
    try {
        const res = await new Promise(function (resolve, reject) {
            // 1.执行成功回调函数------------
            // resolve('大王,你快来抓我呀~!')

            // 2.执行失败(异常)回调函数------
            // reject('讨厌!')
            throw new Error('死鬼!');
        })
        // 打印结果
        console.log(res)
    } catch (e) {
        console.log('---------------------------')
        console.log('出错啦:')
        console.dir(e)
        console.log('---------------------------')
    }
}

相关文章

  • async和await中的try...catch

    1.Promise对象 用来执行 业务函数 如果 业务成功,则 应该调用 resolve 函数,实参 会被 传给 ...

  • async和await

    浅谈Async/Await用 async/await 来处理异步 async和await async:声明一个异步...

  • ES8(一) —— async&await

    目录 async和普通函数的区别 await async/await处理多回调异步 async和await必须配合...

  • ES6中的好东西

    1 Await/Async 前端的回调时代我没有赶上,我赶上的是await/async时代。await和async...

  • async await promise try...catch

    简单介绍下这几个的关系为方便起见 用以下代码为例简单介绍下这几个东西的关系, async 在函数声明前使用asyn...

  • 使用 async 和 await,实现 fetch 同步请求

    使用 async 和 await,实现 fetch 同步请求 关于 async 和 await 的介绍https:...

  • async await

    在Promise基础中,使用async await可以从语法层面去掉回调,async和await该怎么使用 基本概...

  • js es8 async/await

    1.什么async/await async和await是es8中引入的新语法,用来简化Promise的异步操作。在...

  • async-await

    一、async-await和Promise的关系 async-await是promise和generator的语法...

  • ES2017 async 函数

    async 和 await 在干什么 每个名称都有意义async : 异步await: async wait简...

网友评论

      本文标题:async和await中的try...catch

      本文链接:https://www.haomeiwen.com/subject/gduztrtx.html