Code.js
var Util = function(){
function factorial(n, callback){
if(n == 1){
return n;
} else {
return n*factorial(n-1, callback);
}
/*callback(returnValue); */ // Where should this line go?
}
return{
factorial: factorial
};
};
exports.Util = Util;
Test.js
var vows = require('vows'),
assert = require('assert'),
Util = require('./Code').Util;
var u = new Util();
vows.describe('Testing Utils').addBatch({
'Test Factorial async':{
topic: function(){
u.factorial(5, this.callback);
},
'The output must be 120': function(result, ignore){
assert.equal(result, 120);
}
}
}).run();
node.jsで実行
> node Test.js
エラーコールバックが発生しません。
私が理解しているのは、このスクリプトを配置できる場合、関数が戻る直前です
callback(computeValue);
。これは私見で動作するはずです。間違っている場合は修正してください。しかし、これをどこに挿入すればよいかわかりません。御時間ありがとうございます!