async await使用小例

async, await是啥,有什么用?参考博文:https://segmentfault.com/a/1190000013292562
思考:
1. async 是一个关键字,相当于一个形容词,用来形容或者说修饰一个javascript  function。
    如:async function f1() { return 1 }
    它的作用是让这个function的返回值变成一个 Promise类型的对象。
    执行下如上代码,看下返回值:(返回了一个promise对象)

     

   
   当然也可以直接让带async关键字的function 显式地返回一个promise 对象:
     

     如上,promise对象可以直接用链式的.then方法。

     所以,async只是一个方法的标签,指明这个方法的返回值将是一个promise对象。
    (假如这个方法什么都不返回,那就是返回了undefined。 Promise {: undefined})

2. await 是和async配套使用的关键字,它只能用在使用了async描述的function代码里。

    它的作用是,暂停javascript的执行,直到它修饰的promise返回结果。等它修饰的promise返回了结果,才会继续执行后面的javascript代码。

    举个例子,比如赛跑时,裁判先说'预备',然后数3秒之后,才能‘跑’:
       async await使用小例_第1张图片

 

    当然,假如我们不用promise的话,也可以老方法实现这段逻辑:
      async await使用小例_第2张图片
   那老方法的问题还是老问题,使用回调或者嵌套,代码逻辑不直观。

  本文结束。

你可能感兴趣的:(Web前端技术)