[英]Pushing data to firebase from AWS Lambda won't work unless there is a delay on the callback
参见下面的代码。 我正在研究将数据推送到Firebase数据库的AWS lambda函数。 我的问题是,使它正常工作的唯一方法是将setTimeout放在处理程序中的回调函数上。 我不明白为什么要这样做。 回调开始之前,请求是否不会发送到firebase。
这行不通。
var admin = require("firebase-admin");
admin.initializeApp({
credential: admin.credential.cert("./info.json"),
databaseURL: "https://app.firebaseio.com"
});
exports.handler = (event, context, callback) => {
let x = admin.database().ref(`/12851/Winners`);
x.push(525555);
callback(null, {Winner: true});
};
确实可以。
var admin = require("firebase-admin");
admin.initializeApp({
credential: admin.credential.cert("./info.json"),
databaseURL: "https://app.firebaseio.com"
});
exports.handler = (event, context, callback) => {
let x = admin.database().ref(`/12851/Winners`);
x.push(525555);
setTimeout(()=>{
callback(null, {Winner: true});
},1500)
};
连线到.then
因为.push
返回一个promise:
var admin = require("firebase-admin");
admin.initializeApp({
credential: admin.credential.cert("./info.json"),
databaseURL: "https://app.firebaseio.com"
});
exports.handler = (event, context, callback) => {
let x = admin.database().ref(`/12851/Winners`);
x.push(525555).then(function(){
callback(null, {Winner: true});
});
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.