node.js - 按名称运行节点函数
问题描述
我正在尝试从数组中调用函数。第一部分在我可以调用函数的地方工作。但无法获得返回值。
var Handler = {};
async function iamin(field) {
validations = ["abc", "def"];
validations.forEach(function (element) {
console.log(element);
abc = Handler[element].call(field);
return abc
});
return false;
}
Handler.abc = async function (field) {
return 1;
}
Handler.def = async function (field) {
return 2;
}
module.exports = {
iamin
};
我收到错误(节点:48585)UnhandledPromiseRejectionWarning:错误:协议错误(Input.dispatchKeyEvent):目标已关闭。
解决方案
abc = Handler[element].call(field);
这将存储调用函数的结果。在这种情况下,这是一个承诺。
因此,如果您只想返回函数,则需要单独存储该函数:
var Handler = {};
async function iamin(field) {
validations = ["abc", "def"];
return validations.map(async function (element) {
const abc = Handler[element];
const value = await abc.call(field);
// console.log(value);
console.log(abc);
return abc;
});
}
Handler.abc = async function (field) {
return 1;
}
Handler.def = async function (field) {
return 2;
}
iamin(1).then( res => console.log(res));
module.exports = {
iamin
};
推荐阅读
- python - 在另一个程序模块的程序窗口元素中显示
- python - 在 Windows 上使用 python 进行 USB 热插拔回调
- flutter - Flutter:更改复选框的选中颜色
- excel - Excel VBA在列和行值的范围选择中使用字符串变量
- java - Android Studio,选项菜单仅在主活动中打开
- python - 我可以在 Github 中让 Jupyter Notebook 交互吗?
- javascript - 从多个数组中获取唯一值
- python - 如何解决 TensorFlow 错误“从检查点恢复失败”。
- git - 在 shell 中,有没有办法创建一个 if 语句来查找除任何内容之外的任何内容,以及如何解析参数?
- javascript - 等效于 Node.js 中的控制台输入?