async

async是一套Node.js中解決同步問題的好用工具,內容的使用功能有點像q或是node-promise

套件資訊

Installation

npm install async

Sample Usage

下面是一個自寫一個測試function來做async的範例,範例中可以了解async.map中接入第一個參數為array,並且將array逐步傳入第二個參數的function(callback)中,最後async將結果彙整成兩個結果值回傳,第一個值為error,第二個為對應callback中的第二個參數彙整...

var async = require('async')
  , request = require('request')

var Q = [
  "http://www.google.com",
  "http://micloud.tw",
  "http://tw.yahoo.com"];

//測試function,傳入一個參數,一個function
function test(a,fn) {
  //中間的log訊息與callback function接收無關,純Debug用
  console.log(a);
  //最終只有function內容會出現在result中
  fn(null, 'xyz', a + '>>');
}

//同步的執行test function,在此會將Q內容循序傳入,並整合的接收結果到result
async.map(Q, test, function(e,result) {
  if(e) console.log(e);
  console.log(result);
});

如果實際上使用request module的話,可以這樣操作...

var async = require('async')
  , request = require('request')

var Q = [
  "http://www.google.com",
  "http://micloud.tw",
  "http://tw.yahoo.com"];

async.map(Q, request.get, function(e,result) {
  if(e) console.log(e);
  console.log(result);
});

results matching ""

    No results matching ""