Вы отправляете ответ до завершения работы.Для функций типа HTTP вы обязаны отправлять ответ только после того, как вся работа завершена .Облачные функции принудительно завершат функцию после отправки ответа.
Обратите внимание, что get()
и все полученные из него обещания являются асинхронными, то есть возвращаются немедленно, а обратные вызовы вызываются только при выполнении работы.завершено.И у вас нет никаких гарантий относительно того, когда это произойдет.
То, что ваш код делает сейчас, это сбрасывает get()
, а затем сразу же следует следующую строку кода, которая отправляет ответ до того, как работа будет завершена.полный.Когда этот ответ отправляется, Cloud Functions завершает работу функции, и ваша асинхронная работа может не завершиться.
Вам нужно отправлять ответ только после того, как вы убедитесь, что все сделано.Это подразумевает понимание структуры ваших обещаний в вашем коде.
Возможно, вы захотите посмотреть мои видео-серии об использовании обещаний в облачных функциях , чтобы лучше понять, как это работает.