[英]nodejs async waterfall use function from external required javascript file
我對Node.js相當陌生,為了使我的代碼簡短,希望我可以使用異步瀑布式函數列表中包含的.js文件中的函數。 我試圖包括一個函數,並得到“ TypeError:回調不是函數”異常或“無法讀取未定義的屬性'Symbol(Symbol.toStringTag)'”。 我已經搜索了很多,找不到答案,但是希望有人能給我最好的方法,就像回調和函數一樣,我不確定最好的解決方案是什么。
希望我的代碼是這樣的:
var module1 = require('./lib/module1.js'),
module2 = require('./lib/module2.js');
async.waterfall([
module1.externalfunc1,
module2.externalfunc2
], function (err, result) {
if (err) {
console.log('ERROR: ');
console.log(err);
} else {
console.log('Completed streaming1');
console.log(result);
}
我的猜測是我應該將瀑布形函數放在另一個函數中,例如function(){module1.externalfunc;},function(){module2 ...
認為我只是不太了解回調,因為我不確定外部函數是否知道什么是“回調”,因為它在帶有瀑布的代碼外部。 但是我必須相信這是可能的。
謝謝你的幫助。
意思是說,我使用定義的函數創建了externalfunc1,然后導出該函數,因此在文件中具有:
function externalfunc1(param1, callback){...}
module.exports = externalfunc1;
您面臨的問題是要將函數externalfunc1
導出為整個模塊。 即
var module1 = require('./lib/module1.js')
module1 === externalfunc1
可以將導出更改為:
module.exports = { externalfunc1 }
或導入為:
var externalfunc1 = require('./lib/module1.js')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.