1 回答

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
當(dāng)你提供一個(gè) set 的回調(diào)時(shí)data,你基本上是在告訴 JS“發(fā)出 HTTP 請(qǐng)求,data完成后設(shè)置變量,但同時(shí)繼續(xù)運(yùn)行后面的代碼?!?如果要data設(shè)置,則必須將使用的代碼data移至回調(diào)中:
var data;
load_json_data(
? "./test.json",
? function(return_data) {
? ? data = return_data;
? ? console.log("Loaded Data: " + data)
? ? create_graph(data);
? }
);
您還應(yīng)該考慮遷移到fetch API以及使用Promise:
function load_json_data(path, callback) {
? return fetch(path).then(res => res.json());
}
load_json_data("./test.json", function(data) {
? console.log("Loaded data: " + data);
? create_graph(data);
});
添加回答
舉報(bào)