我对节点js函数执行有疑问。代码示例

const dynamic = require('dynamic'),
      obj1 = dynamic.obj1,
      ovj2 = dynamic.obj2;

const myFunction1 = () => {
      let x = obj1
      };

const myFunction2 = () => {
      let x = obj2
      };

module.exports.myFunction1 = myFunction1;
module.exports.myFunction2 = myFunction2;


问题是如何设计此代码,以便每次调用myFunctions时都能从动态变量获取更新值。因为require只工作一次,所以在模块的开头。动态是静态的,该如何解决呢?

最佳答案

这应该可以按您期望的那样工作:

const dynamic = require('dynamic');

const myFunction1 = () => {
  const x = dynamic.obj1;
};

const myFunction2 = () => {
  const x = dynamic.obj2;
};

module.exports.myFunction1 = myFunction1;
module.exports.myFunction2 = myFunction2;

07-28 03:10
查看更多