我是Firebase功能的新手,到目前为止,我一直爱着它们!但是我遇到了一个小问题,我有一些问题。
按照Realtime Database节点js的读写指南进行操作之后,我现在的目标是从数据库中读取一个值,我正在尝试与JavaScript语法联系以使用该强大工具。
现在,我做了这个小功能,只读取数据库中的值
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(); //init firebase admin
//Creating my ref
var db = admin.database();
var ref = db.ref("Test/name");
//Getting the results just once
ref.once("value", function(snapshot) {
console.log(snapshot.val());
}, function(error){
console.log(error.val());
});
现在,如果我使用此代码运行firebase-deploy
,它就可以很好地工作并完成部署,但是当我转到Firebase控制台-函数时,没有创建函数,我什至看不到它们嵌入了Google Cloud函数页面。
那是我的第一个问题。现在,我有一些问题。
首先,我在部署时从esLint那里获得了
0 errors, 2 warnings potentially fixable with the `--fix` option.
如何使用--fix让esLint自行修复警告?
第二:由于Im使用可视代码编写和查看我的代码,所以我很想知道是否存在自动关闭函数的快捷方式,例如在Java中{之后按Enter。
第三:关于javascript语法,有什么好的教程可以使我学得更好一些,并且可以更好地理解javascript以部署生产代码吗?
谢谢!
答案 0 :(得分:4)
您共享的代码段不是有效的Firebase云功能。
如果您查看examples on github,将会看到需要为云功能定义触发器。是否触发了HTTP请求,PubSub,实时数据库写入/更新/删除/创建。有很多不同的选择。
您还需要给函数命名,以便可以在Firebase中正确设置它。
如果我正确地遵循了您的代码段,则似乎您正在尝试获取/test/name
的值,该示例函数将向您显示/test/name
的值变化时的值。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.testNameChange = functions.database.ref('/test/name')
.onWrite(change => {
// Get the snapshot of `/test/name`
if (change.after.exists()) {
const snapshot = change.after.val();
// Log that value.
console.log(snapshot);
} else {
console.log('Record Deleted');
}
});