![](/img/trans.png)
[英]How to get firebase userID from inside a firebase cloud function
[英]How to get JSON data from Firebase Cloud Function
我的代码有问题吗? 我总是收到错误错误:无法处理请求 。 这是我的Cloud Function的代码:
exports.helloWorld = functions.https.onRequest((request, response) => {
cors(request, response, () => {
response.set("Access-Control-Allow-Origin", "*");
response.set("Access-Control-Allow-Methods", "GET");
response.set("Access-Control-Allow-Headers", "Content-Type");
response.set("Access-Control-Max-Age", "3600");
let dock = [];
const snapshot = db.collection("users").get()
snapshot.docs.forEach((val) => {
dock.push(val.id);
});
});
});
我不知道您是否要返回dock
作为响应,但是如果这样做,请尝试以下操作:
exports.helloWorld = functions.https.onRequest((request, response) => {
cors(request, response, () => {
response.set("Access-Control-Allow-Origin", "*");
response.set("Access-Control-Allow-Methods", "GET");
response.set("Access-Control-Allow-Headers", "Content-Type");
response.set("Access-Control-Max-Age", "3600");
let dock = [];
db.collection("users").get().then(snapshot => {
snapshot.docs.forEach((val) => {
dock.push(val.id);
});
return dock;
})
.catch(errors => {
console.log(errors);
return false;
})
});
});
get()
返回您必须解决的承诺。 在执行代码时,最好在最后放置catch()
以查看是否出现错误。
HTTPS触发的Cloud Functions(与您所问的问题类似)一直运行,直到它向客户端发送响应或超时为止。 由于您的代码从不向客户端发送响应,因此超时。 这就是客户给您错误的原因。
我假设您想将文档ID发送回客户端,因此类似:
exports.helloWorld = functions.https.onRequest((request, response) => {
cors(request, response, () => {
response.set("Access-Control-Allow-Origin", "*");
response.set("Access-Control-Allow-Methods", "GET");
response.set("Access-Control-Allow-Headers", "Content-Type");
response.set("Access-Control-Max-Age", "3600");
let documentIds = [];
db.collection("users").get().then((snapshot) => {
snapshot.docs.forEach((document) => {
documentIds.push(document.id);
});
res.send(JSON.stringify(documentIDs));
});
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.