TypeError:“参考”对象在 javascript 中不可迭代
Posted
技术标签:
【中文标题】TypeError:“参考”对象在 javascript 中不可迭代【英文标题】:TypeError: 'Reference' object is not iterable in java script 【发布时间】:2020-07-17 17:38:47 【问题描述】:我想从 firebase 检索数据到 javascrip。我如何获取一些数据并将输出数据获取到变量。这是我的代码
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.sendNotificationUser = functions.firestore
.document('donorRequests/donorRequestId')
.onWrite((snapshot, context) =>
var tokens = [];
// var accounts = admin.firestore().collection('accounts').where("bloodType", '==', record.bloodType).where("rhesus", '==', record.rhesus).get();
for (const i of accounts)
tokens.push(account.val().token);
var payload =
"notification":
'title': 'Hai Pahlawan!',
'body': 'Seseorang butuh kamu, yuk kita bantu :)'
admin.messaging().sendToDevice(tokens, payload);
)
错误信息是
TypeError:帐户不可迭代
任何人都可以帮助我
【问题讨论】:
【参考方案1】:从API documentation 可以看出,Firestore 的query.get()
返回一个使用QuerySnapshot 对象解析的承诺。您将不得不使用该承诺等待查询完成,然后迭代 QuerySnapshot 对象中的文档。
我建议从 documentation 开始了解查询如何与 Firestore 一起使用,并查看一些示例。
此外,您还必须了解 javascript Promise 如何与 Cloud Functions 一起使用。您必须正确处理来自查询的承诺和来自sendToDevice
的承诺,否则该功能将不起作用。详情请参阅documentation。
【讨论】:
以上是关于TypeError:“参考”对象在 javascript 中不可迭代的主要内容,如果未能解决你的问题,请参考以下文章
Webpack错误:TypeError:对象原型可能只是一个对象或null:未定义
在执行并行 ssh 时获取“TypeError:'NoneType' 对象不可迭代”