node.js的基于协同生成器的lib。我如何运行并行任务?

时间:2013-09-06 15:30:37

标签: javascript node.js asynchronous express

我已经为node.js

尝试了基于生成器的async lib co(GitHub

这是代码。我使用共同表达和共同等待。

正如您所见,客户在收到回复之前等待10秒钟。 我的问题是 - 如果我尝试对此URL运行多个请求,并且所有函数都将阻止下一个调用。

我如何同时对此网址运行多个调用? 本地主机:8000 /测试

var fs = require('fs');
var co = require('co');
var express = require('express');
var wrapper = require('co-express');
var app = wrapper(express());
var wait = require('co-wait');

app.get('/test', function* (req, res, next) {
    yield waitAndAnswer(res)
});

function* waitAndAnswer (res) {
  yield wait(10000);
  res.send('Done: ' + Date.now());
}

app.listen(8000);

1 个答案:

答案 0 :(得分:0)

我试图通过单个浏览器调用此网址时犯了一个错误。看起来它是浏览器的标准行为,因此此代码按预期工作。 Jonathan Ong回答了我的问题。

  

如果您通过浏览器拨打电话,那么它就是浏览器。如果你通过卷曲或其他东西来调用它,它应该没问题。 - Jonathan Ong