「Gcp/Firebase/Firestore/async」の版間の差分
提供: 初心者エンジニアの簡易メモ
| 行2: | 行2: | ||
==asyncを使わないパターン== | ==asyncを使わないパターン== | ||
| + | <pre> | ||
const functions = require('firebase-functions'); | const functions = require('firebase-functions'); | ||
const admin = require('firebase-admin'); | const admin = require('firebase-admin'); | ||
| 行19: | 行20: | ||
}); | }); | ||
}); | }); | ||
| + | </pre> | ||
| + | |||
| + | ==asyncを使うパターン== | ||
| + | <pre> | ||
| + | exports.dbasync = functions | ||
| + | .region('asia-northeast1') | ||
| + | .https.onRequest(async(request, response) => { | ||
| + | var snapshot = await admin.firestore().collection('scores') | ||
| + | .orderBy('maxKanaSpeed', 'desc') | ||
| + | .limit(50) | ||
| + | .get(); | ||
| + | var scores = snapshot.docs.map(x => x.data()); | ||
| + | var json = JSON.stringify(scores); | ||
| + | response.send("json" + json); | ||
| + | }); | ||
| + | </pre> | ||
2019年8月12日 (月) 21:39時点における版
firestoreをasyncを使って取得する
asyncを使わないパターン
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.db = functions
.region('asia-northeast1')
.https.onRequest((request, response) => {
admin.firestore().collection('scores')
.orderBy('maxKanaSpeed', 'desc')
.limit(50)
.get()
.then((snapshot) =>
{
var scores = snapshot.docs.map(x => x.data());
var json = JSON.stringify(scores);
response.send("json" + json);
});
});
asyncを使うパターン
exports.dbasync = functions
.region('asia-northeast1')
.https.onRequest(async(request, response) => {
var snapshot = await admin.firestore().collection('scores')
.orderBy('maxKanaSpeed', 'desc')
.limit(50)
.get();
var scores = snapshot.docs.map(x => x.data());
var json = JSON.stringify(scores);
response.send("json" + json);
});
