node-horseman 异步不工作?
node-horseman async not working?
我正在使用 node-horseman 来(希望)允许我执行异步 phantomjs 操作以实现异步无头浏览。数组中的数字在这个阶段是无关紧要的,我只是将代码剥离到最低限度以证明我遇到的问题。
当我 运行 下面的代码 运行 是异步的,但是,一旦我创建一个新的 Horseman,它就会停止 运行 异步。我知道这不是 运行ning 异步,因为输出(控制台记录数字)以线性方式发生,每个数字在统一的时间后显示。 运行 它是异步的,它应该是瞬时的,因为显示每个数字的开销应该是相同的,所以所有数字应该同时出现,就像它们在没有创建骑士对象时一样(如代码所示下面禁用了 horseman 对象。
var Horseman = require('node-horseman');
var async = require('async');
var testArray = [ 1, 2, 3, 4, 5 ];
function evaluate( item ) {
console.log( item );
/*It runs asynchronously but if the two lines below are activated it
stops being async and runs synchronously, defeating the whole purpose
of using horseman??*/
//var horseman = new Horseman();
//horseman.close();
}
async.each(
testArray,
function( item, callback ) {
evaluate( item )
callback();
},
function( err ) {
console.log( 'all complete' );
}
)
非常感谢任何帮助。
我在使用 async 和 node-horseman 时也遇到了同样的问题。如果您使用 .forEachLimit 函数而不是 .each,您可以限制完成的请求数量。关于这个问题,我也在 Github 上开了一个问题:
我正在使用 node-horseman 来(希望)允许我执行异步 phantomjs 操作以实现异步无头浏览。数组中的数字在这个阶段是无关紧要的,我只是将代码剥离到最低限度以证明我遇到的问题。
当我 运行 下面的代码 运行 是异步的,但是,一旦我创建一个新的 Horseman,它就会停止 运行 异步。我知道这不是 运行ning 异步,因为输出(控制台记录数字)以线性方式发生,每个数字在统一的时间后显示。 运行 它是异步的,它应该是瞬时的,因为显示每个数字的开销应该是相同的,所以所有数字应该同时出现,就像它们在没有创建骑士对象时一样(如代码所示下面禁用了 horseman 对象。
var Horseman = require('node-horseman');
var async = require('async');
var testArray = [ 1, 2, 3, 4, 5 ];
function evaluate( item ) {
console.log( item );
/*It runs asynchronously but if the two lines below are activated it
stops being async and runs synchronously, defeating the whole purpose
of using horseman??*/
//var horseman = new Horseman();
//horseman.close();
}
async.each(
testArray,
function( item, callback ) {
evaluate( item )
callback();
},
function( err ) {
console.log( 'all complete' );
}
)
非常感谢任何帮助。
我在使用 async 和 node-horseman 时也遇到了同样的问题。如果您使用 .forEachLimit 函数而不是 .each,您可以限制完成的请求数量。关于这个问题,我也在 Github 上开了一个问题: