代码.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;
测试.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);
这应该可以工作恕我直言。如果我错了,请纠正我。但是,我不明白我可以在哪里插入这个。谢谢你的时间!