首页 > 编程语言 >javascript中generator快速小结

javascript中generator快速小结

时间:2022-12-02 10:39:03浏览次数:37  
标签:console log generator res javascript next let done 小结


1 基本例子
   

function* generatorFunc(){
console.log("任务一");
yield 1;
console.log("任务二");
yield* generatorSubFunc();
console.log("任务三");
return 3;
}
let g = generatorFunc();
let t1 = g.next();//任务一
let t2 = g.next();//任务二 子任务一 子任务二
let t3 = g.next();//任务三
let t4 = g.next();
console.log(t1);//{ value: 1, done: false }
console.log(t2);//{ value: 2, done: false }
console.log(t3);//{ value: 3, done: true }
console.log(t4);//{ value: undefined, done: true }

   其实简单理解,就是每次调用next得时候,才去执行得,其中yield是中断,当t2调用得时候,会继续执行,而且yield后可以跟返回值得,就是value,如果执行完了,会有done表示是否执行完毕。
 generator接受参数:
  

function* cal(){
console.log("可以开始计算");
let a = yield;
console.log("接收参数a",a);
let b = yield;
console.log("接收参数b",b);
let res = a+b;
yield res;
res = res*res;
let d = yield res;
console.log("接收参数d",d);
res = res - d;
return res;
}
let c = cal();
c.next();
c.next(5);
console.log(c.next(3));//{ value: 8, done: false }
console.log(c.next());//{ value: 64, done: false }
console.log(c.next(10));//{ value: 54, done: true }

  

标签:console,log,generator,res,javascript,next,let,done,小结
From: https://blog.51cto.com/u_14230175/5905566

相关文章

  • 收藏:LINUX中的重要IO指标小结
    源自极客时间的教程:1、使用率,是指磁盘处理I/O的时间百分比。过高的使用率(比如超过80%),通常意味着磁盘I/O存在性能瓶颈。2、饱和度,是指磁盘处理I/O的繁忙程度。过高的饱......
  • 高效的Integer.valueOf小结
    在PMD中,都建议使用的Integer.valueOf,avoidinstantiatingintegerobjects.CallInteger.valueOf()instead.历史:JDK1.5后增加了Integer.valueOf......
  • java往oracle存储过程中传递数组方法小结
    java往oracle存储过程中传递数组方法小结,下面是一个例子,比如存储过程中要接受一个数组,并且输出一个数组,则先注意数组在oracle中的定义方法如下:CRE......
  • JavaScript入门③-函数(2)原理{深入}执行上下文
    00、头痛的JS闭包、词法作用域?被JavaScript的闭包、上下文、嵌套函数、this搞得很头痛,这语言设计的,感觉比较混乱,先勉强理解总结一下......
  • Javascript 浏览器本地导出文件
    浏览器本地导出文件/***导出文件*@paramdata数据*@paramname文件名*/exportRaw:function(data,name){varurlObject=window.URL||window.web......
  • Generator的定义和执行
    .Generator的定义和执行如果说Promise是为了解决回调地狱的难题出现的,那么Generator就是为了解决异步问题而出现的。普通函数,如果调用它会立即执行完毕;Generator函......
  • JavaScript Everywhere All In One
    JavaScriptEverywhereAllInOnetagsjsNode.jsExpress.jsMongoDBApolloClientGraphQLAPIJWTOAuth2.0ReactReactNativeElectronhttps://github.com/......
  • JavaScript笔记
    1、什么是JavaScriptJavaScript是一门脚本语言。ECMAScript可以理解为JavaScript的一个标准最新版本已经到es6版本但是大部分浏览器只停留在支持es5代码上!开发环境---......
  • 教你用JavaScript实现小日历
    案例介绍欢迎来的我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个小日历。小日历主要展示年份、月份、星期和日期。通过实战我们将......
  • 18个编写JavaScript代码的技巧
    英文| https://medium.com/javascript-in-plain-english/18-tips-for-writing-javascript-code-like-a-hero-17ca1dc49da9翻译|web前端开发(ID:web_qdkf)在我多年的编程工......