繁体   English   中英

如何将回调 function 变成 promise

[英]How to turn a callback function into a promise

我需要让这段代码返回一个 promise。 Idk 如何做到这一点,我想学习。 如果可以的话,我还需要一些解释,谢谢!

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);
  });
}

fetch已经返回 promise。 所以只需返回它的返回值,并摆脱与callbackFunction变量相关的所有内容。

这将是

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();
  });
}

因此,返回获取,然后返回 json,然后您可以在 function 调用中使用.then()。

var url = "....";

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

showMoviesList.then(function(json) {
  console.log(json);
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM