如何将获取数据放入变量中

时间:2018-01-22 09:52:27

标签: javascript json variables fetch put

每当我尝试将结果提取到变量

时,我的代码都会生成undefined
var data;
fetch('./js/samplejson.json')
    .then((res) => res.json())
    .then(output => {
        var data = output;
    } 
)
console.log(data);

如何获得

的结果
[1, 2, 3]

内部数据变量

2 个答案:

答案 0 :(得分:2)

您可以在此处从日志中获取数据。

fetch('./js/samplejson.json')
    .then((res) => res.json())
    .then(output => {
        var data = output;
        console.log(data);
    } 
)

答案 1 :(得分:2)

fetch()来电是异步。它在数据从服务器返回之前返回。当您尝试在呼叫后访问数据时,您尝试在服务器响应之前访问它。

您需要在回调内或在从该回调调用的函数中处理里面的数据。换句话说,在var data = output;执行此操作时,请勿执行此操作。删除var无效,因此代码会根据评论中的建议设置全局data变量。问题不在于范围,而在于时机。在回调中处理output数据,或者调用另一个函数并将output传递给它。