我的想法是这样的:我通过外部API获取一些数据。返回的数据可能包含也可能不包含需要调用的函数的名称。这是在ES6模块内部发生的。我无法弄清楚如何从ES6模块中检查功能是否存在。
如果我没有进入ES6模块,我只会这样做:
function foo() { ... };
const bar = "foo";
if (typeof window[bar] === "function") {
window[bar]();
}
但是现在我位于ES6模块中,因此没有像window这样的全局变量可以检查。至少我不认为有?
更新 我意识到我可以将eval()与try / catch一起使用,但这对我来说真的很不对。