美文网首页
当 async/await 遇上 forEach

当 async/await 遇上 forEach

作者: 汨罗在北方 | 来源:发表于2018-03-15 16:35 被阅读17次

    今天写js,好好的一段async函数里的代码加了await就直接弹错Unexpected identifier。

    仔细研究了下,发现竟然是for - each搞出的问题。

    使用规范中,await必须在async函数的上下文中。通过个人理解的这句话就是await只能在async函数中使用。

    自己的代码中,虽然最外层start函数是通过async声明的,在for - each函数体内部的箭头函数中使用了await,而该箭头函数是一个普通函数,所以await的上文是一个普通函数,最终导致报错。

    所以第一反应是直接在箭头函数位置加async就好。但是想了下不对,这样for循环里面就变成异步了。最后为了解决吧for - each改成了for of结构。避免了新声明一个函数空间。

    参考:
    https://segmentfault.com/a/1190000011156836
    https://objcer.com/2017/10/12/async-await-with-forEach/

    相关文章

      网友评论

          本文标题:当 async/await 遇上 forEach

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