最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

nodejs async waterfall使用来自外部所需javascript文件的函数

运维笔记admin14浏览0评论

nodejs async waterfall使用来自外部所需javascript文件的函数

nodejs async waterfall使用来自外部所需javascript文件的函数

我是nodejs的新手,为了保持我的代码简洁,希望我可以使用我在异步瀑布函数列表中包含的.js文件中的函数。我试图包含一个函数,并且得到'TypeError:回调不是函数'异常或'无法读取属性'符号(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(){module 1.external func;},function(){module 2 ...

认为我只是不能很好地理解回调,因为我不确定外部函数是否会知道“回调”是什么,因为它在带有瀑布的代码之外。但我必须相信这是可能的。

谢谢你的帮助。

意思是说,我有一个函数定义创建的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')
发布评论

评论列表(0)

  1. 暂无评论