[CoffeeScript]使用Yield功能
2016-04-13 06:16
344 查看
CoffeeScript 1.9 开始提供了类似ES6的yield关键字。 自己结合co和bluebird做了个试验。
co -- http://npmjs.org/package/co -- for generator
bluebird -- https://www.npmjs.com/package/bluebird for Promise
co -- http://npmjs.org/package/co -- for generator
bluebird -- https://www.npmjs.com/package/bluebird for Promise
co = require 'co' Promise = require 'bluebird' msg = "good" func1 = () -> new Promise((resolve)-> setTimeout( ()-> console.log "func1" resolve({a:10,b:2}) , 1000)) func2 = (opts) -> {a,b}= opts new Promise((resolve, reject)-> setTimeout(()-> console.log "func2", a, b console.log msg resolve(a * b * 2) , 1000) ) func3 = (r)-> new Promise((resolve)-> console.log "the result is #{r}" resolve() ) func4 = ()-> new Promise (resolve)-> console.log "done" resolve() calc1= (r) -> yield func3(r) yield func4() calc = ()-> opts = yield func1() r = yield func2(opts) yield calc1(r) # yield func3(r) # yield func4() co(calc)
相关文章推荐
- [Javascript] JavaScript Array Methods in Depth - push
- js监听textarea文本域变化使高度自适应
- js中获取时间new Date()详细介绍
- 花瓣网李忠:ReactiveCocoa是Cocoa的未来
- 通过js修改html的标签属性
- JS 执行环境与作用域链
- Bootstrap 表格
- JS中__proto__与prototype的关系
- leetcode 25 Reverse Nodes in k-Group
- web day4 javascript&DOM
- css悬浮右侧悬浮
- Jquery动画效果
- javascript杂谈 半整合半原创篇
- Javascript之自定义事件
- offer题11 数值的整数次方&判断浮点型是否相等&降低求n次方的时间复杂度&3种错误处理方式
- 网页五--html插入表格
- 关于js封装框架类库之DOM操作模块(一)
- 深入理解CSS径向渐变radial-gradient
- React问题总结与归纳
- JQuery攻略读书笔记---第2章 数组