Почему я должен возвращаться из .then () в каждом случае? - PullRequest
0 голосов
/ 19 января 2019

Я использую ESLint и получаю эту ошибку: Каждое then () должно возвращать значение или выдавать обещание / всегда возвращать

Код:

return somePromise.then(result => {
    console.log(result);
}).catch(error => {
    console.error(error);
});

Почему я должен вернуться из этого обещания? Это явно не нужно, потому что я хотел напечатать результат в журнале, и все. Это правило кажется неправильным для применения во всех случаях. Я пишу триггер базы данных Firebase, который, я полагаю, заинтересован только в том, чтобы решить, было ли обещание выполнено или нет.

1 Ответ

0 голосов
/ 19 января 2019

Это eslint-plugin-promise правило существует для предотвращения ошибок, вызванных невыполнением обещаний:

return somePromise.then(result => {
   anotherPromise.then(...);
});

Если вы считаете, что не можете воспользоваться этим правилом, и оно только делает ваш код загроможденным дополнительными return утверждениями или eslint-disable-* комментариями, отключите его.

Bluebird известен тем, что предотвращает такие ошибки, он выдает предупреждение в случае, если есть вложенное невыпущенное обещание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...