簡體   English   中英

我如何讓誓言等60秒鍾才發生回調

[英]How can I make vows wait 60s for a callback to happen

我已經寫了一些連接到FTP服務器的代碼,並列出了一個很長的目錄。 得到響應可能需要40秒鍾以上的時間。

我已經編寫了一些代碼來開始對此進行測試,但是我得到Error >>回調未觸發。

有沒有一種方法可以指示Vows或Node放松一下,並等待回調觸發,直到達到可配置的時間量?

這是我的誓言代碼:vows.describe('FTP Downloader Suite')。addBatch({'FTP Downloader':{topic:function(){var promise = new(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);

謝謝!

Vows混淆了問題的根源,即引發了錯誤。 當我切換到nodeunit時,問題很明顯。 也許有一種方法可以改善誓約中的錯誤記錄,但是我已經完成了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM