我正在努力找到一个好的模式来执行一堆并行任务.
让我来定义一些例子.任务a, b, c, d, e, f, g执行的a(function(er, ra){//task a returned, ra is result}),这样做b对g
也有一些工作,应该是执行一些任务完成后,让我们给他们打电话ab, bc, abc, bd, bcd, af, fg,表示当a和b返回ab(ra, rb)应立即执行,而当b和c退换,bc(rb, rc)应立即执行,如果a,b,c全部返还,abc(ra, rb, rc)应执行.
对于最简单的情况,如果只有a和b,我可以做这样的事情:
(function(cb){
var count = 2, _ra, _rb;
function update(){if(--count == 0) cb(null, _ra, _rb)}
a(function(er, ra){_ra = ra; update()});
b(function(er, ra){_rb …Run Code Online (Sandbox Code Playgroud) javascript parallel-processing concurrency design-patterns node.js
使用服务器端javascript的正确方法是什么?像node.js它解决了什么样的问题?
我是个新手node.js.我正在尝试使用node.js实现一个浏览器性能工具,所以我有以下代码:
for(var j=0; j < 14; j++) {
// Create a new instance of HttpWatch in Firefox
var control = new ActiveXObject('HttpWatch.Controller');
var plugin = control.Firefox.New();
// Start Recording HTTP traffic
plugin.Log.EnableFilter(false);
// Clear Cache and cookier before each test
plugin.ClearCache();
plugin.ClearAllCookies();
plugin.ClearSessionCookies();
plugin.Record();
// Goto to the URL and wait for the page to be loaded
plugin.GotoURL(url);
control.Wait(plugin, -1);
// Stop recording HTTP
plugin.Stop();
if ( plugin.Log.Pages.Count != 0 )
{
// Display summary statistics for page …Run Code Online (Sandbox Code Playgroud) 我是.net web开发人员.我喜欢学习新语言,并尝试了解不同的功能.
我已经听过node.js很长一段时间了.我终于休息了几天,所以我觉得这可能是一个很好的学习机会.
从快速浏览节点的文档,我必须说我不明白什么是大惊小怪.作为一名经验丰富的.net程序员,我为什么要研究node.js?它会取代我的c#代码吗?节点真的可以与dot net(数据库支持,多线程,OOP,可读性等)竞争吗?使用node.js你真的开发得更快吗?
我使用以下代码来利用群集npm为我的节点应用程序.
form = require("connect-form");
express = require("express");
app = express.createServer(form({ keepExtensions: true }));
cluster = require("cluster");
// App configuration
// ....
// Run on cluster
cluster( app )
.use(cluster.logger('logs'))
.use(cluster.stats())
.use(cluster.pidfiles('pids'))
.use(cluster.cli())
.listen(port);
Run Code Online (Sandbox Code Playgroud)
这在节点0.4.4上工作正常,但我最终在节点0.6.5上出现以下错误
luc @ localhost:〜/ server $ node app.js
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Property 'cluster' of object #<Object> is not a function
at Object.<anonymous> (/home/luc/server/app.js:15:1)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at …Run Code Online (Sandbox Code Playgroud)