0
我想編寫異步函數的測試。MochaJS不等待異步函數
// Function declaration
someLongAsyncTasks(cb) {
// This function doing some long tasks like fs.copy(...)
// I will use setTimeout to simulate these jobs
setTimeout(function() {
cb();
}, 3000);
}
// in tests.js file
it('...', function(done) {
someLongAsyncTasks(function(err) {
if (err) done(err);
else done();
});
});
正如你看到的,我路過done
到it()
的回調函數,所以應該等到someLongAsyncTasks()
完成其工作。但我仍然得到這個錯誤:
Error: Timeout of 30000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
我失蹤了什麼?爲什麼it()
未在等待我的異步功能並觸發超時錯誤?
另請確保您的問題中的代碼確實存在您試圖解決的問題。 – robertklep