почему я получаю необработанное обещание ошибки, когда я делаю запрос на получение - PullRequest
0 голосов
/ 08 апреля 2019

Я работаю над веб-приложением.Я пытаюсь выполнить запрос get для получения маршрута в NodeJS Я написал некоторый асинхронный код в app.get Route, но получил unhandledPromiseRejection error.Я объявил функцию обратного вызова в app.get , чтобы я мог сделать асинхронный, чтобы получить ответ.

Я использовал синтаксис async await, как показано ниже, что, возможно, здесь не так.Любая помощь приветствуется!

app.get('/', async (req,res) => {
  let USERNAME = req.query.search_name;

  const BASE_URL = `https://instagram.com/${USERNAME}`;

  let response = await request(BASE_URL);

});

запрос не выполнен с ошибкой unhandledPromiseRejection

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

С async/await вы используете try/catch следующим образом:

Как правило, обработка ошибок с помощью async/await выполняется с помощью try/catch, например:

async function someFunc() {
  try {
    // get resolved value
    const result = await getSomethingFromPromise();
  } catch (e) {
    // handle error rejected from a promise
    console.error(e)
  }
}

Как уже упоминалось TJ Crowder выделено (:), лучше обернуть попытку поймать все тело. Также вы можете использовать множественное ожидание в пределах одного блока.

app.get('/', async (req,res) => {
  try {
    let USERNAME = req.query.search_name;
    // multiple await
    // const result = await someOtherPromise();
    const BASE_URL = `https://instagram.com/${USERNAME}`;
    let response = await request(BASE_URL);
  } catch (e) {
    console.error(e);
  }
});
0 голосов
/ 08 апреля 2019

Потому что вы не поймаете ошибку.

app.get('/', async (req,res) => {
  let USERNAME = req.query.search_name;

  const BASE_URL = `https://instagram.com/${USERNAME}`;
  try {
    let response = await request(BASE_URL);
  } catch (e) {
    console.error(e);
  }
});

Убедитесь, что вы получаете асинхронное / ожидание в блоке try catch.

Подробнее: https://alligator.io/js/async-functions/

https://hackernoon.com/understanding-async-await-in-javascript-1d81bb079b2c

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