【发布时间】:2020-11-07 10:22:34
【问题描述】:
当我尝试运行一个函数时
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.checkPostsRef = functions.https.onRequest((request, response) => {
const postId = 'foo'
admin.database().ref('/posts/' + postId).once('value', snapshot => {
if !snapshot.exists() {
console.log("+++++++++ post does not exist +++++++++") // I want this to print
return
}
});
});
我不断收到Parsing error: Unexpected token snapshot 的错误:
一旦我注释掉如果snapshot.exists() { .... } 一切正常。
我正在关注这个link,它说有一个.exists() 函数,那我为什么会遇到这个问题?
【问题讨论】:
-
嘿兰斯。很高兴在下面的答案中看到您成功了。但看起来你现在实际上也从你的问题中删除了这个问题。您能否还原它,以便问题显示问题,而您的回答显示您如何解决它。关于实际问题:在您的原始代码中,问题是由于在
if条件周围缺少()引起的。在 Swift 中,if !snapshot.exists()是有效的,但在 JavaScript 中它必须是if (!snapshot.exists())。请注意,这与 return 语句无关,而纯粹是关于()围绕您的if的条件。 -
@FrankvanPuffelen 我将问题改回原始代码,并且我还删除了原始问题中没有的分号并添加为编辑。你是对的,保持原来的样子是有意义的,这样如果下一个人遇到问题,他们就能看到我的错误。
标签: node.js firebase-realtime-database google-cloud-functions