Как превратить функцию обратного вызова в обещание - PullRequest
0 голосов
/ 17 апреля 2020

Мне нужно, чтобы этот код возвращал обещание. Я знаю, как это сделать, и я хочу научиться. Если вы можете, мне также понадобятся некоторые объяснения, спасибо!

var url = "....";

function showMoviesList(callbackFunction){
  fetch(url + "/movies", {
    method: "GET",
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
  }).then(function(response){
    return response.json();
  }).then(function(moviesArray){
    callbackFunction(moviesArray);
  });
}

Ответы [ 3 ]

0 голосов
/ 17 апреля 2020

Это будет

var url = "....";
function showMoviesList(callbackFunction){
  return fetch(url + "/movies", {
    method: "GET",
    headers: {
       "Content-Type": "application/x-www-form-urlencoded"
  }
  }).then(function(response){
    return response.json();
  });
}
0 голосов
/ 17 апреля 2020

Так что верните выборку, make, затем верните json, и вы можете использовать .then () со своим вызовом функции.

var url = "....";

function showMoviesList(callbackFunction) {
  return fetch(url + "/movies").then(function(response) {
    return response.json();
  });
}

showMoviesList.then(function(json) {
  console.log(json);
})
0 голосов
/ 17 апреля 2020

fetch уже возвращает обещание. Так что просто верните возвращаемое значение и избавьтесь от всего, что связано с переменной callbackFunction.

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