如何存储对功能的引用?

时间:2018-10-28 00:55:12

标签: javascript node.js

给出功能列表,希望用户能够选择要在启动时运行的任何功能。如何做到这一点,以便用户可以“保存”他们选择的功能以在下次运行代码时运行;即由于您无法“保存”一个javascript函数,函数runSelectedFunction(如下)会是什么样?另外,假设潜在功能列表是可扩展的。

const first = ()=>{
 console.log('first');
}

const second = ()=>{
 console.log('second');
}

const third = ()=>{
 console.log('third');
}

loadUserSelectedFunctionFromDB()
.then(runSelectedFunction)

要清楚,目标是即使代码停止执行并重新启动,也要保留用户的选择。通常,这可以通过在数据库中存储值来完成,但是问题是在给定一组可扩展函数的情况下,如何在数据库中存储对函数的引用?

1 个答案:

答案 0 :(得分:0)

使用这样的地图:

const m = {
  first, second, third
};

let selectFuncName = "first"; // from user selection, maybe click a button
let selectFunc = m[selectFuncName];

loadUserSelectedFunctionFromDB()
.then(runSelectedFunction)