我有一个包含url的数组
var urls = ['http://google.com', 'http://example.com', 'http://localhost:300'];
和从url读取的函数
function readUrl(url) {....}
我不想为数组中的所有可用URL运行该函数。是不是可以使用asyncjs?或任何其他建议。
答案 0 :(得分:1)
asyncjs可以吗?
是的,有可能。,像这样
1
var async = require('async');
var urls = ['http://google.com', 'http://amazon.com', 'http://bing.com'];
function readUrl(url, next) {
// some code
next(null, result);
}
urls = urls.map(function(url) {
return function (next) {
readUrl(url, next);
};
});
async.parallel(urls, function(err, res) {
console.log(err, res);
})
2
var async = require('async');
var urls = ['http://google.com', 'http://amazon.com', 'http://bing.com'];
function readUrl(url) {
return true;
}
urls = urls.map(function(url) {
return function (next) {
var res = readUrl(url);
if (res) {
return next(null, res);
}
next('Error');
};
});
async.parallel(urls, function(err, res) {
console.log(err, res);
})