zoukankan      html  css  js  c++  java
  • async/await让你的代码更加优雅

    一. 回调地狱:回调函数里面嵌套着回调函数嵌套着回调函数”,这就是被传说中的“回调地狱
    callbackHell () {
    const api = new Api()
    let user, friends
    api.getUser().then(function (returnedUser) {
    user = returnedUser
    api.getFriends(user.id).then(function (returnedFriends) {
    friends = returnedFriends
    api.getPhoto(user.id).then(function (photo) {
    console.log('callbackHell', {user, friends, photo})
    })
    })
    })
    }
    二. 如何优雅解决回掉地狱
    1. promise chain
    promiseChain () {
    const api = new Api()
    let user, friends
    api.getUser()
    .then((returnedUser) => {
    user = returnedUser
    return api.getFriends(user.id)
    })
    .then((returnedFriends) => {
    friends = returnedFriends
    return api.getPhoto(user.id)
    })
    .then((photo) => {
    console.log('promiseChain', { user, friends, photo })
    }).catch((err) => {
        console.error(err)
      })

    }
    2. await/async
    async asyncAwaitIsYourNewBestFriend () {
      try {

       const api = new Api()
       const user = await api.getUser()
       const friends = await api.getFriends(user.id)
       const photo = await api.getPhoto(user.id)
       console.log('asyncAwaitIsYourNewBestFriend', { user, friends, photo })
      } catch (err) { console.error(err) }
    }
     










     

    一点一滴累积,总有一天你也会成为别人口中的大牛!
  • 相关阅读:
    Android x86 镜像分析之四
    Android x86 镜像分析之三
    Android x86 镜像分析之二
    Android x86镜像分析
    tizen镜像制作
    完成登录与注册页面的前端
    JavaScript 基础,登录前端验证
    CSS实例:图片导航块
    导航,头部,CSS基础
    web基础,用html元素制作web页面
  • 原文地址:https://www.cnblogs.com/fancyLee/p/9268716.html
Copyright © 2011-2022 走看看