给出功能列表,希望用户能够选择要在启动时运行的任何功能。如何做到这一点,以便用户可以“保存”他们选择的功能以在下次运行代码时运行;即由于您无法“保存”一个javascript函数,函数runSelectedFunction(如下)会是什么样?另外,假设潜在功能列表是可扩展的。
const first = ()=>{
console.log('first');
}
const second = ()=>{
console.log('second');
}
const third = ()=>{
console.log('third');
}
loadUserSelectedFunctionFromDB()
.then(runSelectedFunction)
要清楚,目标是即使代码停止执行并重新启动,也要保留用户的选择。通常,这可以通过在数据库中存储值来完成,但是问题是在给定一组可扩展函数的情况下,如何在数据库中存储对函数的引用?
答案 0 :(得分:0)
使用这样的地图:
const m = {
first, second, third
};
let selectFuncName = "first"; // from user selection, maybe click a button
let selectFunc = m[selectFuncName];
loadUserSelectedFunctionFromDB()
.then(runSelectedFunction)