尝试返回fetch的响应数组最终得到undefined

时间:2018-02-11 19:02:17

标签: javascript arrays promise response fetch

我的代码是:

   fetch(data)
    .then(blob => blob.json())
    .then(newData => array.push(newData))
let be = array[0].id;

我想访问我的数组数据,但我最终得到了undefined,我不知道为什么 After reloading page

但它在控制台中工作正常。
Working good with console.log

我已经在互联网上阅读了好几个小时,但我似乎无法理解为什么它会像那样工作。

1 个答案:

答案 0 :(得分:1)

fetch异步运行,所以你可以这样做。

let array = [];
let be = '';

fetch(data)
 .then(blob => blob.json())
 .then(newData => {
    array.push(newData);
    be = array[0].id;
 });

一旦你调用你的获取方法,当它等待来自服务器或你试图获取信息的任何地方的响应时,i / o不会停止并开始执行其余的等待服务器响应时的代码。