Неопределенный ответ от асинхронного обратного вызова в GIPHY API - PullRequest
1 голос
/ 12 марта 2019
// //create the src for gif
function loadGiphyData(tag, callback){
  var data;
  var request = new XMLHttpRequest();
  request.open('GET', `https://api.giphy.com/v1/gifs/search?q=${tag}&api_key=5p8A1b1szDSqAVgDP1m2dlq8z0rdO3h1&limit=10`, true);
  request.onload = function() {
    data = JSON.parse(request.responseText).data[Math.floor(Math.random()*11)].images.original.url;
    console.log(data);
    return callback(data);
  }
  request.send();
}

Привет всем, у меня проблемы с получением функции обратного вызова для возврата значения. Я использую GIPHY API для возврата URL-адреса GIF, но когда я возвращаю console.log () возвращаемое значение, я всегда получаю неопределенное значение.

console.log(loadGiphyData("dog", function(result) {return result;}));

Я прочитал ответ Феликса Клинга о том, как работает async, и попытался реализовать использование им функции обратного вызова, но я до сих пор не могу ничего получить. -> Как вернуть ответ от асинхронного вызова?

Любая помощь будет принята с благодарностью, спасибо!

...