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

Klt*_*Klt 2 javascript variables json put fetch

我有一个代码,undefined每当我尝试将结果提取到变量中时都会产生结果

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

我怎样才能得到结果

[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

内部数据变量

Mic*_*ary 5

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

您需要在回调内部或从该回调调用的函数中处理该数据。换句话说,在你做的地方var data = output;,不要那样做。删除它无济于事,var因此代码data按照注释中的建议设置了全局变量。问题不在于范围,而在于时机。output在回调内部处理数据,或者调用另一个函数并传递output给它。