动态创建函数名称并执行它们

时间:2017-07-04 00:18:16

标签: node.js

在nodejs 8中,我尝试在mongodb中插入10条记录

// create company
await mylib.defaultCompany1SavePromise();
await mylib.defaultCompany2SavePromise();
await mylib.defaultCompany3SavePromise();
await mylib.defaultCompany4SavePromise();
await mylib.defaultCompany5SavePromise();
await mylib.defaultCompany6SavePromise();
await mylib.defaultCompany7SavePromise();
await mylib.defaultCompany8SavePromise();
await mylib.defaultCompany9SavePromise();
await mylib.defaultCompany10SavePromise();

这是一种动态创建函数名称并执行它们的方法吗?

更新1,我可以这样做:

for(let index=1; index<=9; index++) {
  mylib.defaultCompany{index}SavePromise();
}

1 个答案:

答案 0 :(得分:0)

在一个循环中创建和执行函数

for (let index = 1; index <= 9; index++) {
    const fnName = 'defaultCompany' + index + 'SavePromise';
    // create function
    mylib[fnName] = function () {
        // function body    
    };
    // run function
    mylib[fnName]();
}

或者您可以在另一个循环中执行这些功能。

但在我看来,最好将index传递给函数并根据index修改其行为