javascript - 如何在 Lodash 的 reduce 中调用函数
问题描述
我正在尝试使用对象数组中的键获取唯一值。一切似乎都很好,但里面的函数调用减少了 get Uncaught (in promise): TypeError: Cannot read property 'getFile' of undefined
。在 TypeScript 中是否有任何可能的方法来调用 reduce 中的函数。
_.reduce(items, function(result, value, key) {
let file = this.getFile(value);
(result[value] || (result[value] = [])).push(key);
return result;
}, {});
我在reduce内部调用的函数。
async getFile(fileEntry) {
try {
return await new Promise((resolve, reject) =>
fileEntry.file(resolve, reject)
);
} catch (err) {
console.log(err);
}
}
提前致谢。
解决方案
从您的问题来看,尚不清楚您是如何定义getFile
功能的。
是不是这样
//example 1
async function getFile(fileEntry){
//function body
}
或者像这样
//example 2
this.getFile = async function(fileEntry){
//function body
}
如果getFile
函数像示例 1那样定义,那么你应该这样调用它
let file = getFile(value);
希望对你有帮助。谢谢!
推荐阅读
- mysql - Mysql并以原子方式执行存储过程或以原子方式选择更新
- ios - Flutter iOS 只有一些视频 URL 正在视频播放器中播放,有些无法初始化
- ios - 不能再向 TableCell 的视图添加锚约束
- c++ - 为什么我的代码在本地计算机中提供 segfault/stackoverflow 并在在线编译器中正确运行?
- erlang - 我可以在没有 Elixir 的情况下使用 CLI 吗?
- api - 如何使用 Google Sheets API 获取当前选定的单元格/范围?
- android - HMS+GMS 设备上的 HMS 推送通知问题
- azure-table-storage - 有谁知道如何使用邮递员批量插入天蓝色表存储
- kubernetes - 如何将基于 ansible 的 Kubernetes 操作员部署的日志详细程度从 INFO 减少到 WARN 或 ERROR
- python - 在一个 python 代码中打开来自两个不同 Raspberry Pi 的相机