0
下記のコードを参照してください。私はfirebaseデータベースにデータをプッシュするAWSラムダ関数に取り組んでいます。私の問題は、私がそれを動作させることができた唯一の方法は、ハンドラの内部でコールバック関数にsetTimeoutを設定することです。なぜこれが必要なのか分かりません。コールバックが始まる前にリクエストがfirebaseに送信されません。コールバックに遅れがないかぎり、AWS Lambdaからデータをファイヤーベースにプッシュ
これは機能しません。
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});
};
これは機能します。代わりに.then
に
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)
};
感謝を!プッシュに利用できる約束があるとは考えていませんでした。私は週末中にそれに苦しんでいた! – mattc19