Javascript Node.js导出函数赋值给变量

Javascript Node.js导出函数赋值给变量,javascript,node.js,promise,Javascript,Node.js,Promise,我想将导出的函数保存到一个变量中,以使用Promise.all。 但当我将函数赋给变量时,它会运行。我想在分配函数时阻止运行 示例代码 a、 js b、 js 我的期望是不要运行hello()并分配给f1 我该怎么办?a.js module.exports = { hello: function say_hello() { console.log('hello'); } } b、 js Promise.all需要一组Promise参数作为输入,因此必须首先将函数更改为Promise:

我想将导出的函数保存到一个变量中,以使用
Promise.all
。 但当我将函数赋给变量时,它会运行。我想在分配函数时阻止运行

示例代码

a、 js

b、 js

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

我该怎么办?

a.js

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


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,...])

我不明白你想要实现什么。为什么不执行var f1=require('./a.js')?或者var f1=helloJust assign而不调用函数:
var f1=hello
在这个例子中,我没有写任何关于
Promise
的代码。实际上在a.js
say_hello()
中返回
Promise
我想将
say_hello()
函数推到数组中并运行
Promise.all()
。这就是我真正想做的。在真实的代码中,我必须传递args来说_hello()。
Promise.all([hello(params),hello(differentpams)])。然后(()=>{…})
?虽然这段代码可以回答问题,但提供关于如何和/或为什么解决问题的额外上下文将提高答案的长期价值。
var a = require ('./a.js')
a.say_hello();
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,...])