Javascript 如何在Lodash中调用reduce中的函数

Javascript 如何在Lodash中调用reduce中的函数,javascript,typescript,lodash,Javascript,Typescript,Lodash,我试图使用对象数组中的键来获取唯一值。一切似乎都很好,但reduce中的函数调用未捕获(承诺中):TypeError:无法读取未定义的的属性“getFile”。在TypeScript中是否有任何可能的方法调用reduce内部的函数 _.reduce(items, function(result, value, key) { let file = this.getFile(value); (result[value] || (result[value] = [])).push(ke

我试图使用对象数组中的键来获取唯一值。一切似乎都很好,但reduce中的函数调用未捕获(承诺中):TypeError:无法读取未定义的的属性“getFile”。在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
函数的

是这样吗

//示例1
异步函数getFile(fileEntry){
//功能体
}
还是像这样

//示例2
this.getFile=异步函数(fileEntry){
//功能体
}
如果
getFile
函数的定义与示例1类似,那么您应该这样调用它

let file=getFile(值);
希望这对你有帮助。谢谢