Облачные функции Firebase / Each then () должен возвращать значение или выдавать обещание / всегда возвращаться - PullRequest
0 голосов
/ 07 апреля 2019

Я следовал официальному руководству Firebase по обещаниям (https://www.youtube.com/watch?v=7IkUgCLr5oA), но в моем случае я не могу заставить его работать.

const promise = userRef.push({text:text});

const promise2 = promise.then((snapshot) => {
    res.status(200).json({message: 'ok!'});
});

promise2.catch(error => {
    res.status(500).json({message: 'error'});
});

Что я делаю не так? Каждый then () должен иметь свой ответ на случай, если что-то пойдет не так, но именно поэтому я пишу уловку обещания2.

1 Ответ

0 голосов
/ 07 апреля 2019

Просто добавьте return перед отправкой ответа.

const promise = userRef.push({text:text});

const promise2 = promise.then((snapshot) => {
    return res.status(200).json({message: 'ok!'});
});

promise2.catch(error => {
    return res.status(500).json({message: 'error'});
});

Также вы можете связать обещания следующим образом:

return userRef.push({text:text})
.then((snapshot) => {
    return res.status(200).json({message: 'ok!'});

}).catch(error => {
    return res.status(500).json({message: 'error'});
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...