Узел, функции firebase Свойство 'map' не существует для типа 'Promise <QuerySnapshot> - PullRequest
0 голосов
/ 25 апреля 2018

Во-первых, это мне не помогает: карта свойств не существует , а импорт 'rxjs' не отменяет либо

только тестирование с использованием машинописи с моими функциями и с использованием "async" и "await""ключевые слова по какой-то причине я получаю сообщение об ошибке при попытке использовать карту, вот мой код (кстати, если способ извлечения данных из firestore с использованием" await "неверен, я был бы очень рад, если бы кто-то меня поправил) - не смог найти многопримеров, в которых используется машинопись / функции / firestore):

import * as functions from 'firebase-functions';
import * as admin from "firebase-admin";

admin.initializeApp(functions.config().firebase);
let db = admin.firestore();

export const helloWorld = functions.https.onRequest(
  async (request, response) => {
    try {
      let t = await getEmployees()
      response.send("yes");
    } catch (e) {
      response.send('no')
    }
});


async function getEmployees(): Promise<any> {
  try {
    const f = await db.collection('companies').get().map(value => {
        let id = value.id
        return id;
    })
   } catch (e) {
    return e;
   }
}

машинопись Версия 2.8.3

package.json:

{
"name": "functions",
"scripts": {
"lint": "tslint --project tsconfig.json",
"build": "tsc",
"serve": "npm run build && firebase serve --only functions",
"shell": "npm run build && firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"main": "lib/index.js",
"dependencies": {
"firebase-admin": "^5.12.0",
"firebase-functions": "^1.0.1"
},
"devDependencies": {
"tslint": "^5.8.0",
"typescript": "2.8.3"
  },
"private": true
}

1 Ответ

0 голосов
/ 25 апреля 2018

await будет применено к результату map, вы по существу звоните:

const f = await (db.collection('companies').get().map(...))

Вы хотите позвонить map в результате ожидания get, и вы должныдобавьте скобки, чтобы сообщить компилятору, что вы хотите делать.Также вы, вероятно, ищете свойство docs на снимке (которое возвращает результаты запроса)

const f = (await db.collection('companies').get()).docs.map(...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...