Javascript 如何将Highland.js或Node.js流限制为每秒一个对象?

Javascript 如何将Highland.js或Node.js流限制为每秒一个对象?,javascript,node.js,stream,highland.js,Javascript,Node.js,Stream,Highland.js,我希望能够将对getPagerank()的调用限制为每秒一个。我试过各种各样的方法,但都没用 var pagerank = require('pagerank'); var _ = require('highland'); var urls = [ 'google.com', 'yahoo.com', 'bing.com' ]; var getPagerank = _.wrapCallback(pagerank); // I want to throttle cal

我希望能够将对
getPagerank()
的调用限制为每秒一个。我试过各种各样的方法,但都没用

var pagerank = require('pagerank');
var _ = require('highland');

var urls = [
    'google.com',
    'yahoo.com',
    'bing.com'
];

var getPagerank = _.wrapCallback(pagerank);

// I want to throttle calls to getPagerank to 1/sec
var pageRanks = _(urls)
    .map(getPagerank)
    .merge();

pageRanks.toArray(function(arr) {
    console.log(arr);
});

您可以使用
.ratelimit()

e、 g.这将限制流每秒处理一个数组项

var _ = require('highland');

_([1,2,3,4]).ratelimit(1, 1000).map(function(x){
  return String(x);
})
.pipe(process.stdout);

我觉得我扫描文件做得不错。我想不是。谢谢