美文网首页
es6:generator生成器

es6:generator生成器

作者: gis杭州 | 来源:发表于2018-12-11 10:19 被阅读0次

1、 执行第一条,name值为undefind,第二条,传入字符串"hehe "会被赋值给上一个生成器执行结果的返回值name

function* gen(){
  let name = yield "this is first one";
  console.dir(name);
  yield  name+"this is second one";
  yield  "this is third one";
  yield "this is fourth one";
  return "done";
}

const testgen = gen();
console.log(testgen.next());
console.log(testgen.next("hehe "));
// console.log(testgen.next());
// console.log(testgen.next());
// console.log(testgen.next());
image.png

2、必须等上一条yield语句执行完毕才会执行下一条yield语句
这样特性等好处是“可以用同步等方式写异步代码”,例如取服务器数据,不需要再使用回调函数,避免了回调函数多层嵌套的问题。(javascrip回调地狱)


回调地狱示例
promise方式,依然是嵌套

相关文章

网友评论

      本文标题:es6:generator生成器

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