-1

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);。これは私見で動作するはずです。間違っている場合は修正してください。しかし、これをどこに挿入すればよいかわかりません。御時間ありがとうございます!

4

2 に答える 2