JS异步实现Generator的方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JS异步实现Generator的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1434字,纯文字阅读大概需要3分钟。
内容图文
![JS异步实现Generator的方法](/upload/InfoBanner/zyjiaocheng/298/71b3e8cd637940888f8336bf11b704f7.jpg)
ES6中新增加了Symbol数据类型。
原生具有[Symbol.iterator]属性的数据类型:数组、类数组、map、set、
具有[Symbol.iterator]
属性的对象,直接调用就可以生成一个Iterator
对象
二、Iterator对象:是一个指针对象,遍历器对象
方法:next():返回的格式为{value: ,done: }
使用for..of遍历: 每次遍历得到的是value值。
三、Geneteror
function* G(){ yield 200; yield 300; return 400; } var g=G();
1.Generator不是一个函数,定义generator时,使用function*,使用yield来返回结果。
2.调用Generator之后,它内部的代码不会立即执行,而是处于一个暂停的状态。并生成一个generator对象。
3.遇到yield
时,会执行yeild
后面的表达式,并返回执行之后的值,然后再次进入暂停状态,此时done: false
Generator返回的也是一个iterator对象,因此可以使用next方法、for..of
1.使用next方法时,next中的参数会传递给已经执行的yield前面的值。
2.yield*可以在一个Generator中引用另外一个Generator。
四、generator实现异步操作
1.需要thunk函数,只有一个参数,即回调函数
2.通常使用co库,对异步操作进行包装,方便简洁。
3.yield后面必须是thunk函数。
4.generator依然依靠callback
五、async-await:是Generator的语法糖
与Generator相比:
1.将function* 替代为 async function
2.将yield替代为await
3. await后面是promise对象。跟其他类型的数据也OK,但是会直接同步执行,而不是异步。
以上就是JS异步实现Generator的方法的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的JS异步实现Generator的方法全部内容,希望文章能够帮你解决JS异步实现Generator的方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。