Node.js 協調處理 (1)

基本介紹

教學目標

透過 async 套件在多個非同步事件處理進行協調。(以基本資料處理為例。)

前置作業

  1. 完成 Node.js 套件安裝與設置。

套件安裝

1
$ npm install async --save

使用教學

撰寫程式

data_processing.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var async = require("async");
async.auto({
raw: function(callback){
var raw = ['0','1'];
callback(null, raw);
},
etl: ['raw', function(callback, results){
var etl = [];
for (var n=0; n<results.raw.length; n++) {
etl[n] = parseInt(results.raw[n]);
}
callback(null, etl);
}],
add: ['etl', function(callback, results){
var result = results.etl[0];
for (var n=1; n<results.etl.length; n++) {
result += results.etl[n];
}
callback(null, result);
}],
sub: ['etl', function(callback, results){
var result = results.etl[0];
for (var n=1; n<results.etl.length; n++) {
result -= results.etl[n];
}
callback(null, result);
}]
}, function(err, results) {
console.log('執行結果: ' + results.add + ' (資料加法) , ' + results.sub + ' (資料減法)');
});

執行程式

1
$  node data_processing.js

輸出結果

1
執行結果: 1 (資料加法) , -1 (資料減法)

相關資源