0
A
回答
0
我tried to port a very small subset并失败。问题的关键是节点光纤的Fiber.yield()
停止执行光纤的调用堆栈,而生成器的yield
仅停止立即函数。虽然您可能能够实现行为相似的系统(如Task.js),但似乎API兼容的实现是不可能的。
3
您是否在寻找类似https://github.com/visionmedia/co的产品?
自述:
var co = require('co');
co(function *(){
var a = yield get('http://google.com');
var b = yield get('http://yahoo.com');
var c = yield get('http://cloudup.com');
console.log(a.status);
console.log(b.status);
console.log(c.status);
})()
co(function *(){
var a = get('http://google.com');
var b = get('http://yahoo.com');
var c = get('http://cloudup.com');
var res = yield [a, b, c];
console.log(res);
})()
有一个名为KOA(http://koajs.com)一个新的网络架构,是基于此。
+0
好东西。感谢您的高举。我想知道是否可以在发生器之上构建与[fibrous](https://github.com/goodeggs/fibrous)语法兼容的东西。我相信不是。 – hurrymaplelad
1
我编写周围纤维称为包装wait.for:https://github.com/luciotato/waitfor
然后我编写相同的功能搭配发电机:https://github.com/luciotato/waitfor-ES6
您可以比较两种看到发电机如何能够取代节点 - 光纤,但语法不同。
的一个重要区别,这使得不可能有相同的API, 是ES6的发电机本体是一种特殊的语法来实现:function*
而节点纤维允许你使用任何js函数。
相关问题
- 1. 节点js 6现在可以使用哪些ES6?
- 2. 节点光纤是否阻塞?
- 3. 节点光纤与流星的故障
- 4. 如何实现实用的光纤调度器?
- 5. 节点光纤是否会破坏节点域?
- 6. 如何实现对不使用Meteor光纤的包的调用?
- 7. 我可以假设SettableFuture作为光纤的类星体吗?
- 8. 什么样的光纤收发器是单模光纤,并且支持802.1Q?
- 9. 红宝石光纤“死光纤称为”
- 10. 移动应用程序现在可以安全使用原生ES6吗?
- 11. 我可以在ES6上使用JSNice吗?
- 12. 我们可以设置发现节点的列表吗?
- 13. 可以使用django实现Numpy吗?
- 14. 我可以使用增强现实吗?
- 15. 可以使用“call/cc”实现“if”吗?
- 16. 我可以使用比较器而不实现可比较吗?
- 17. 我可以使用Apache Thrift发现可发现的服务吗?
- 18. 流星包异步/节点光纤未来不工作
- 19. npm如何在局域网上安装节点光纤?
- 20. 我可以在流星中使用节点检查器吗?
- 21. 导航控制器可以实现吗?
- 22. 我可以使用ES6开发Atom编辑器包吗? (不是CoffeeScript)
- 23. 用螺纹和光纤
- 24. 纤维/未来离不开光纤
- 25. 你可以用节点删除system32吗?
- 26. 使用光纤进行均匀迭代?
- 27. 我应该使用ES6传输我的节点js代码吗?
- 28. 我可以使用函数实现分类器吗?
- 29. Web服务器可以使用mapreduce实现吗?
- 30. 这个过滤器可以使用Sed实现吗?
您是否尝试使用'yield *'?它允许您嵌套生成器函数,以便您还可以生成嵌套的生成器函数。 –
断开链接!请修复。 – nalply
@nalply,修正。谢谢! – hurrymaplelad