首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python的Node.js等价于什么?

Python的Node.js等价于什么?
EN

Stack Overflow用户
提问于 2014-05-13 14:15:34
回答 1查看 950关注 0票数 1

我正在努力学习Node.js,这既适用于webapp开发,也适用于小型系统脚本。有了Python,我们就有了这个库gevent,它实现了greenlets和猴补丁Python库,因此您可以编写同步代码,它将在异步的地方工作。

除了Node,还有这样的事情吗?我读过关于异步和光纤的文章,但我不明白这是否是一种类似的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-13 14:57:44

通过查看gevent文档中的第一个示例,您将看到generators,这是一个非常重要的特性。您可以通过在支持节点版本(目前是不稳定的0.11)中传递--harmony_generators来使用它们。

使用本地生成器并不难,但我建议使用co模块。一个来自其自述的例子:

代码语言:javascript
运行
复制
co(function *(){
  var a = get('http://google.com');  // an async process
  var b = get('http://yahoo.com');   // an async process
  var c = get('http://cloudup.com'); // an async process
  var res = yield [a, b, c];         // wait until these are done in a
                                     // synchronous style.
  console.log(res);                  // log these objects
})()

其他更传统的选择是使用承诺(存在多个库):

代码语言:javascript
运行
复制
doSomeTaskThatReturnsAPromise()
    .then(somethingElse)
    .then(somethingElse)
    .then(function() { console.log("I'm done!") });

..or库(如异步 )

代码语言:javascript
运行
复制
async.series([
    doSomeTask,
    somethingElse,
    somethingElse
], function() {
    console.log("I'm done!");
});

我对光纤没有经验,但我相信它在概念上类似于发电机。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23633765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档