小编Joh*_*ohn的帖子

如何将承诺的结果保存到变量?

我需要从 API 获取一些 JSON 数据并将结果分配给一个变量。我可以在控制台中看到数据数组,但 [abc] 始终设置为 Pending 承诺。

我试图分配 [abc] 而不是记录 [data] 或简单地返回 [data] 但它不起作用。理想情况下,我还想停止执行以下代码,直到获得所需的数据,但使用我拥有的代码,文本会在数据之前记录

async function fetchData() 
{
  let response = await fetch('API');
  let data = await response.json();
  data = JSON.stringify(data);
  data = JSON.parse(data);
  return data;
}

let abc = await fetchData()
  .then(data => console.log(data)); 

console.log('This should not be logged if 'abc' does not have the data i need')

Run Code Online (Sandbox Code Playgroud)

(data => console.log(data)) ..>> 这里的数据是我需要的数组,但我不知道如何分配变量。

我在互联网上寻找了许多解决方案,但找不到任何可以提供帮助的方法。

编辑 1:

如果我分配: let abc = await fetchData() 没有 then 语句它会向我抛出这个错误: Uncaught SyntaxError: …

javascript async-await es6-promise

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

async-await ×1

es6-promise ×1

javascript ×1