Подождите, пока данные будут возвращены из базы данных - ajax и express - PullRequest
0 голосов
/ 15 мая 2018

Я думаю, что я близок к тому, чтобы это заработало, просто упустил что-то простое или неправильно настроил функцию запроса к базе данных.В настоящее время я не получаю данных, возвращаемых, поскольку Обещание все еще ожидает выполнения, хотя оно действительно выходит из консоли

index.js

async function leagueFixtures(league_name){
  var data = await queries.league_fixtures(league_name);
  return data;
}


app.post('/league_fixtures', function (req, res) {
  var league_name = req.body.league_name;
  const fixtures = leagueFixtures(league_name); // also tried await leagueFixtures(league_name) here but get a syntax error
  console.log(fixtures);
  res.json({success: true, data: fixtures })
});

Ajax-запрос

$.ajax({
  url: '/league_fixtures',
  type: 'POST',
  dataType: "json",
  data: { league_name: league_name },
  success: function(data){
    console.log(data);
  },
  error: function(jqXHR, textStatus, err){
    alert('text status '+textStatus+', err '+err)
  }
})

Может кто-нибудь увидеть, где я иду не так и что я неправильно понял

Спасибо

1 Ответ

0 голосов
/ 15 мая 2018

сделать асинхронную функцию обработчика экспресс-запроса подобной следующей

  app.post('/league_fixtures', async function (req, res) {
      try {
          var league_name = req.body.league_name;
          const fixtures = await leagueFixtures(league_name); 
          console.log(fixtures);
          res.json({success: true, data: fixtures })

     } catch(err){
      // do your error handling here
       res.status(500).send({ error: 'Something failed!' })
     }

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