Node.js导出的函数分配给变量

时间:2018-07-25 04:04:04

标签: javascript node.js promise

我想将导出的函数保存到变量以使用Promise.all。 但是,当我将函数分配给变量时,它将运行。我要在分配功能时阻止运行。

示例代码

a.js

module.export = function say_hello(){ console.log('hello') }

b.js

var hello = require('./a.js');

var f1 = hello();

我的期望是不要运行hello()并分配给f1。

我该怎么办?

2 个答案:

答案 0 :(得分:0)

a.js

module.exports = {
    hello: function say_hello() { console.log('hello'); }
}

b.js

var a = require ('./a.js')
a.say_hello();

答案 1 :(得分:0)

Promise.all期望使用一组promise参数作为输入,因此必须首先将函数更改为Promise

module.export = function say_hello() {
    return new Promise(function (resolve, reject) {
        console.log('hello');
        // whatever
        resolve();
    });
}

然后,当您需要时就会有一个承诺:

var hello = require('./a.js');
var f1 = hello();
Promise.all([f1,...])