Сегодня я посмотрел учебник Firebase с официального канала Firebase Youtube. Поскольку я все время работаю над проектами в одиночку, мне кажется, что Firebase в качестве бессерверного решения хорошо подходит для того, чтобы помогать мне в период разработки. Я уже довольно давно использую Firebase на Android для базы данных в реальном времени. Думаю, мне пора изучить оставшуюся часть его комплекта.

Обещание представляет некоторую асинхронную работу, которая должна в конечном итоге завершиться.

В Promise есть три состояния:

  1. в ожидании
  2. выполненный
  3. отклоненный

После того, как обещание выполнено или отклонено, его нельзя изменить снова. Обещание — это возврат до того, как работа будет завершена. Используйте .then() для выполнения последующих действий, когда обещание выполнено, используйте .catch() для перехвата ошибки для отклоненного случая. Метод .then() возвращает обещание, которое выполнено или отклонено.

Правила прекращения работы Облачной функции (1:38/08:50)

  1. Триггеры HTTP — отправить ответ в конце
  2. Фоновые триггеры — вернуть обещание (следующее видео из серии)

Во-первых, для триггеров типа HTTP они завершаются после отправки ответа клиенту с использованием полученного им объекта ответа. Во-вторых, для всех других типов триггеров, называемых фоновыми триггерами, вам нужно вернуть промис, который будет выполнен только после того, как работа, начатая в функции, будет полностью завершена. Если ждать нечего, вы можете просто вернуть null.

Запускать облачную функцию локально (06:22)

В 06:22 хост показывает, как запустить облачную функцию локально.

Прежде всего, проверьте код на наличие ошибок:

npm run-script lint

Чтобы преобразовать код TypeScript в JavaScript один в папку lib:

npm run-script build

Чтобы эмулировать функции на локальной машине:

firebase serve --only functions

URL-адрес для запуска функции появится в терминале.

Выполните команду ниже, чтобы получить возвращаемый результат:

curl url_copied_from_terminal

В 07:33 не забудьте отправить все клиенту, как об успехе, так и об ошибке. В противном случае функция истечет по тайм-ауту.

В 07:56 код очищается, объединяя все функции промисов в цепочку для удобочитаемости.

Примечание,

Выберите базу данных: Cloud Firestore или базу данных в реальном времени.

Firebase предлагает два облачных решения для баз данных, доступных для клиентов, которые поддерживают синхронизацию данных в реальном времени:

  • База данных в реальном времени — это исходная база данных Firebase. Это эффективное решение с малой задержкой для мобильных приложений, которым требуется синхронизация состояний между клиентами в режиме реального времени.
  • Cloud Firestore – это новая флагманская база данных Firebase для разработки мобильных приложений. Он улучшает успех базы данных реального времени с новой, более интуитивно понятной моделью данных. Cloud Firestore также предлагает более богатые, быстрые запросы и масштабируется лучше, чем база данных в реальном времени.