Обещание ошибки функции облачной пожарной базы не определено - PullRequest
0 голосов
/ 04 марта 2019

У меня есть два предыдущих поста, пытающихся решить мои проблемы, и я решил убрать весь существующий код из уравнения.

Я не смог получить никаких обещаний на работу.Итак, я пытаюсь продублировать примеры в видео Дуга Стивенсона на YouTube «Изучите обещания JavaScript (Часть 1) с помощью триггеров HTTP в облачных функциях - Firecasts».Основываясь на приведенной ниже ошибке, я спрашиваю, не является ли моя среда причиной того, что я не смог получить обещания для правильной работы.

Ни одно из этих сообщений не появляется в журналах консоли (что неудивительно для меня на основании возвращенного сообщения.

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const sendgrid = require('@sendgrid/mail');

admin.initializeApp();
admin.firestore().settings({
  timestampsInSnapshots: true
});
    exports.getMatchesNew = functions.https.onRequest((request, response) => {
      console.log("In On Call", request);
      admin.firestore().doc('city/seattle').get();

      promise.then(snapshot => {
          const data = snapshot.data();
          console.log("data: ", data);
          response.send(data);
      })
      .catch(error => {
        // Handle the error
        console.log(error);
        response.status(400).send(error);
      });
    });

и я получаю эту ошибку при попытке локально протестировать эту функцию с помощью http://localhost:5000/wsos-base/us-central1/getMatchesNew

stack " ReferenceError: обещание не определено \ n at exports.getMatchesNew.functions.https.onRequest (C: \ WSOS-BASE \ nitrofreddo-master \ functions \ index.js: 317: 3) \ n в cloudFunction (C: \ WSOS-BASE \ nitrofreddo-master)\ functions \ node_modules \ firebase-functions \ lib \ provider \ https.js: 57: 9) \ n в app.use (C: \ Users \ miker \ AppData \ Roaming \ npm \ node_modules \ firebase-tools \ node_modules \ @google-cloud \ functions-emulator \ src \ supervisor \ worker.js: 151: 11) \ n в Layer.handle [как handle_request] (C: \ Users \ miker \ AppData \ Roaming \ npm \ node_modules \ firebase-tools \node_modules \ express \ lib \ router \ layer.js: 95: 5) \ n в trim_prefix (C: \ Users \ miker \ AppData \ Roaming \ npm \ node_modules \ firebase-tools \ node_modules \ express \ lib \ router \ index.js: 317: 13) \ n в C: \ Users \ miker \ AppData \ Roaming \ npm \ node_modules \ firebase-tools \ node_modules \ express \ lib \ router \ index.js: 284: 7 \ n в Function.process_params (С: \ Users \ miker \ AppData \ Roaming \ npm \ node_modules \ firebase-tools \ node_modules \ express \ lib \ router \ index.js: 335: 12) \ n на следующем (C: \ Users \ miker \ AppData \ Roaming \npm \ node_modules \ firebase-tools \ node_modules \ express \ lib \ router \ index.js: 275: 10) \ n в app.use (C: \ Users \ miker \ AppData \ Roaming \ npm \ node_modules \ firebase-tools \node_modules \ @ google-cloud \ functions-emulator \ src \ supervisor \ worker.js: 123: 7) \ n в Layer.handle [as handle_request] (C: \ Users \ miker \ AppData \ Roaming \ npm \ node_modules \ firebase-tools \ node_modules \ express \ lib \ router \ layer.js: 95: 5) обещание "message" не определено "name" ReferenceError "

У меня НЕТ информации от предыдущего разработчика по этому вопросу.Я загрузил последний Node.JS при настройке среды, но, возможно, это было неправильно.Это конфликт версий Node.Js?или конфликт версии Firebase?Или ???

Пожалуйста, смотрите мой предыдущий пост Здесь показана работающая облачная функция, за исключением того, что я считаю пропущенными обещаниями при попытке получить пользовательскую информацию для каждого идентификатора mentee

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Я не понимаю, но после перезагрузки моей машины моя функция работает.Это печально, но это все еще жизнеспособное решение некоторых технических проблем.Это функция из ссылочного примера от Дуга Стивенсона (без моего неопределенного объекта «обещание»).Я чувствую, что сейчас нахожусь в хорошем месте и смогу связать эти обещания теперь, когда у меня все получится.Спасибо Дагу и всем остальным, кто хочет ответить, но не может добраться до Дуга!; -)

0 голосов
/ 04 марта 2019

В сообщении об ошибке говорится, что вы никогда не определяли переменную promise.

Вместо этого:

admin.firestore().doc('city/seattle').get();

Возможно, вы хотели сказать это:

const promise = admin.firestore().doc('city/seattle').get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...