2013-11-21 58 views
0

我已經寫了一些連接到FTP服務器的代碼,並列出了一個很長的目錄。可能需要40多秒才能得到答覆。我如何讓誓言等待60秒回調發生

我已經寫了一些代碼來開始測試,但我得到了Errored >>回調沒有被解僱。

有沒有辦法指示誓言或節點只是冷靜一會兒,等待回調開火說,高達一些可配置的時間?

這裏是我的願代碼: vows.describe( 'FTP下載套房')addBatch({ 'FTP下載':{ 話題:函數(){VAR 諾=新(events.EventEmitter);

  var lastMomentDownloaded = moment(); 
      lastMomentDownloaded.subtract('minute', 1); 
      ftpDownloader.getNewPathsToDownload(config, lastMomentDownloaded, function(err, res) { 
       if (err) { promise.emit('error', err, res) } 
       else { promise.emit('success', err, res) } 
      }); 
      return promise; 
     }, 
     'can be accessed': function(err, stat) { 
      assert.isNull(err); // we have no error 
      assert.isArray(stat); // we have a result 
     }, 
     'is not empty': function(err, stat) { 
      assert.isNotZero(stat.length); 
     }, 
     'is shorter than 100 paths': function(err, stat) { 
      assert.isTrue(stat.length < 100); 
     }, 
     'contains paths matching the config': function(err, stat) { 
      _.each(stat, function(value, key, list) { 
       console.log(value); 
      }); 
     } 
     } 
    }).export(module); 

謝謝!

回答

0

誓言被混淆這是已被拋出一個錯誤。當我切換到nodeunit問題是顯而易見的問題的根源,也許有改善與誓言錯誤日誌的方式但我已經完成了。