提取api返回未完成的承诺而不是实际值

时间:2018-11-13 11:49:30

标签: javascript es6-promise

我注意到,每当我尝试将获取的数据存储在变量中或尝试从函数返回获取的数据时,它都会返回“待处理的承诺”,而状态显示为“已解决”,即使它返回的数据也包含在“未完成的承诺”,但无法从中检索。但是,仅在控制台日志中,它才显示真正的价值。

  

1。这将引发“待处理的承诺”

function getTitle() {
  let value = "";
  fetch("https://jsonplaceholder.typicode.com/todos/1")
    .then(response => response.json())
    .then(data => {
      value = data.title;
    });
  return value;
}
console.log(getTitle());
  
      
  1. 此功能也会引发“待处理的承诺”
  2.   
  function getTitle() {
  return fetch("https://jsonplaceholder.typicode.com/todos/1")
    .then(response => response.json())
    .then(data => data.title);
}
console.log(getTitle());
  

3。此函数还返回未完成的诺言

 function getTitle() {
 let value = "";
  fetch("https://jsonplaceholder.typicode.com/todos/1")
    .then(response => response.json())
    .then(data => data.title);
  return value;
}
let value = getTitle();
console.log(value);
  

4。但这不会返回任何未完成的承诺,它会注销实际值

function getTitle() {
      fetch("https://jsonplaceholder.typicode.com/todos/1")
        .then(response => response.json())
        .then(data =>console.log(data.title));
    }
    getTitle();

到目前为止,我所看到的是,如果我尝试存储该值,它将返回一个未决的诺言。那么如何将获取的数据的值存储在一个变量中呢?

0 个答案:

没有答案