作家
登录

浅谈JavaScript中的异步处理

作者: 来源: 2017-08-28 16:58:07 阅读 我要评论

所以我们为其添加 then 办法, 在 then 办法琅绫擎接着运行 next 办法挪移遍历器指针,直到 Generator 函数运行完成,实际上,这个过程我们不必手动完成,可以封装成一个简单的履行器

  1. function run(gen){ 
  2.     var g = gen() 
  3.  
  4.     function next(data){ 
  5.         var res = g.next(data) 
  6.         if (res.done) return res.value 
  7.         res.value.then((data) => { 
  8.             next(data) 
  9.         }) 
  10.     } 
  11.  
  12.     next() 
  13.  

run 办法用来主动运行异步的 Generator 函数,其实就是一个递归的过程调用的过程。如许我们就不必手动履行 Generator 函数了。 有了 run 办法,我们只须要如许运行 getData 办法

异步履行可以用回调函数实现。

如许,我们就可以把异步操作封装到 Generator 函数内部,应用 run 办法作为 Generator 函数的自履行器,来处理异步。其实我们不难发明, async/await 办法比拟于 Generator 处理异步的方法,有很多类似的处所,只不过 async/await 在语义化方面加倍明显,同时 async/await 不须要我们手写履行器,其内部已经帮我们封装好了,这就是为什么说 async/await 是 Generator 函数处理异步的语法糖了。

【编辑推荐】

  1. Go说话如不雅按如许改进,能不克不及火过Java?
  2. 如何在java中定义一个抽象属性
  3. Java若何实现长图文生成
  4. Java多线程 —— 线程怎么来的?
  5. 浅谈JavaScript中的接话柄现
【义务编辑:未丽燕 TEL:(010)68476606】

三、Promise



  推荐阅读

  物联网时代如何管理上百万设备?找风河DLM就对了!

Victor告诉记者,在设备全部治理周期中,安然是最特别的一环,它不仅仅是贯穿全部周期,更重要的是,它必须在>>>详细阅读


本文标题:浅谈JavaScript中的异步处理

地址:http://www.17bianji.com/lsqh/36972.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)