前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是回调地狱以及promise的链式调用和aysnc/await

什么是回调地狱以及promise的链式调用和aysnc/await

作者头像
gzq大数据
发布2021-06-08 22:02:47
9060
发布2021-06-08 22:02:47
举报
文章被收录于专栏:大数据那些事大数据那些事

上面一篇博客写到了回调地域的问题,这篇博客将深究这个词语,如下例:

代码语言:javascript
复制
doSomething(function(result){
  doSomethingElse(result, function(newResult){
    doThirdthing(newResult, function(finalResult){
      console.log('finial result'+finalResult)
      },failureCallback)
    },failureCallback)
  },failureCallback)

这样就形成了回调函数的嵌套,难于阅读 当使用链式调用时:

代码语言:javascript
复制
doSomething().then(function(result){
  return doSomethingElse(result)
 })
 .then(function(newResult){
    return doThirdThing(newResult)
  })
  .then(function(finalResult){
    console.log('final result'+finalResult)
    })
    .catch(failureCallback)

但上述代码会有异步传透,无论哪一步出错都会给failureCallback 最终极的方法如下:

代码语言:javascript
复制
async func request(){
  try{
  const result = await doSomething()
  const newResult = await doSomethinElse(result)
  const finalResult = await doThirdThing(newResult)
  console.log('final result'+finalRequest)
  }catch(error){
  failureCallback(error)
  }
  }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-05-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档