我正在尝试通过以下操作遍历对象:
const db = admin.firestore()
const devicesRef = db.collection('devices')
const devices = await devicesRef.get();
devices.forEach(async (result, idx, array) => {
});
但是我得到一个错误:
类型'(结果:任何,idx:任何,数组:任何)=>承诺'不能分配给类型'(结果:QueryDocumentSnapshot)=>无效'。
我不太了解。如果我摆脱了idx, array
,该脚本可以正常运行,但是我想知道何时执行最后一个循环,这就是为什么我添加idx, array
...
任何想法错误消息可能意味着什么?
答案 0 :(得分:1)
假设devices
是一个对象数组,我认为您不能在那里分配函数,因为该函数只希望有一个参数可以获取单个设备。试试:
const db = admin.firestore()
const devicesRef = db.collection('devices')
const result = await devicesRef.get();
// adds all results to devices list
List<any> devices = [];
for (QueryDocumentSnapshot device : result.getResult()) {
devices.add(device);
}
devices.forEach((device idx, array) => {
if (idx === array.length -1) {
// Do specific task
}
// some async function
async (someOtherFunction) => {
// do something with individual device
}
});