facebook twitter hatena line email

Gcp/Firebase/Firestore/async

提供: 初心者エンジニアの簡易メモ
2019年8月12日 (月) 21:39時点におけるAdmin (トーク | 投稿記録)による版

移動: 案内検索

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);
});