CORS сталкивается с обещанием быть возвращенным - PullRequest
1 голос
/ 16 марта 2019

У меня есть функция, которая мне нужна для возврата списка пользователей после вызова API (функция firebase). Я использую экспресс-CORS на сервере, чтобы разрешить запросы от локального хоста.

Проблема, с которой я сталкиваюсь, заключается в том, что предпечатная проверка CORS возвращает 204 без ответа до того, как мои данные (которые, как я знаю, ожидаются для запуска перед полетом в первую очередь), но они (или Fiebase SDK) выдают ошибку, поскольку 204 был возвращается с «нет ответа», поэтому моя функция then никогда не получает данные. Данные фактически получены в ответе 200 после ответа CORS, но к тому времени уже слишком поздно. В консоли отображается ошибка

Ошибка: в ответе отсутствует поле данных.

Код:

return firebase.functions().httpsCallable('listUsers')().then((users) => {
  // pre-flight cors check means this doesnt return users due to the error
  console.log(users);
  return users;
}).catch(function (error) {
  console.error("Error getting document: ", error);
});`

Но во вкладке сети у меня есть 204 и 200 с ожидаемым результатом. Кто-нибудь испытывал это с огненной базой и корсом?

...