我試圖理解和使用節點中的異步庫。我真的不明白,async.parallel函數是如何工作的。這個名字並行似乎像多線程,可以考慮下面的示例:異步困惑關於並行功能
async.parallel([
function(callback){
setTimeout(function(){
console.log('1');
callback(null, 'one');
}, 200);
},
function(callback){
setTimeout(function(){
console.log('2');
callback(null, 'two');
}, 100);
}
],
// optional callback
function(err, results){
if(err){
console.log('Error');
} else {
console.log(results);
}
// the results array will equal ['one','two'] even though
// the second function had a shorter timeout.
});
我已經得到了結果
[ 'one', 'two' ]
做async.parallel對多線程執行?如果沒有,名稱並行表示什麼?
請告訴我async.series和async.parallel的區別。我嘗試了一個例子,但我沒有看到它的區別。 –
Async.series接受一系列異步操作,並且按順序運行它們,就好像數組中的每個函數都是對它之前的函數的回調。 Async.parallel接受一系列異步操作,讓它們並行運行,並通過調用回調函數返回程序流,理想情況是利用數組中已並行填充的數據(否則爲什麼要使用它, 對?) – ChrisCM