Я делаю линию чатбота, и у меня есть некоторые проблемы с обещанием - PullRequest
0 голосов
/ 19 сентября 2019

Я создаю чат-линию с использованием heroku и node.js, а затем, когда я проверяю webhook, я получаю сообщение об ошибке

Здесь это ошибка разработчика линии

и когдая запускаю / webhook и здесь ошибка

UnhandledPromiseRejectionWarning: необработанное отклонение обещания.Эта ошибка возникла либо в результате выброса внутри асинхронной функции без блока catch, либо в результате отклонения обещания, которое не было обработано с помощью .catch ()

и

DEP0018] DeprecationWarning: Необработанные отказы от обещаний устарели.В будущем отклонения обещаний, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом выхода.

здесь мой код

    app.post('/webhook', line.middleware(config), (req, res) => {
    res.sendStatus(200)
    Promise
    .all(req.body.events.map(handleEvent))
    .then((result) => res.json(result))
    .catch();
    throw new Error('Failed');
});

Я думаю, что я сделаюнеправильному обещанию нужна помощь и спасибо

1 Ответ

0 голосов
/ 19 сентября 2019

Если вы используете Express, попробуйте следующее:

app.post('/webhook', line.middleware(config), (req, res) => {
  Promise
    .all(req.body.events.map(handleEvent))
    .then(result => res.status(200).json(result))
    .catch(err => res.status(500).end('Failed'));
});

В качестве альтернативы вы можете переслать ошибку в обработчик ошибок Express, используя функцию next:

app.post('/webhook', line.middleware(config), (req, res, next) => {
  Promise
    .all(req.body.events.map(handleEvent))
    .then(result => res.status(200).json(result))
    .catch(err => next(err));
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...