![](/img/trans.png)
[英]How can i modify a global variable from within a callback function . in node.js
[英]How to update global variable from within a async callback function?
我有一個問題,我無法從回調函數內部更新全局變量。
這是我的代碼:
// Set global variable.
var load_values_from_server = "initial value";
// Call our page that shows server load and put it into "results" variable.
microAjax("http://domain.com/show-server-load.php?" + randomnumber,
function (results) {
load_values_from_server = results;
});
// We want this to show the "results" from the callback function.
alert(load_values_from_server);
問題在於警報始終顯示“初始值”,而從未顯示回調函數的“結果”。
我想念什么? 即使在回調函數中,全局變量也不應該是全局變量嗎?
您的代碼正在更新全局變量。 設置值的函數在代碼中的alert語句之后調用。 JavaScript代碼不等待microAjax調用的執行結果。 要檢查microAjax方法是否成功返回,請在分配后放置alert方法:
var load_values_from_server = "initial value";
microAjax("http://domain.com/show-server-load.php?" + randomnumber,
function (results) {
load_values_from_server = results;
alert(load_values_from_server);
});
microAjax不會給您太多配置可能性。 查看這個 SO問題和對使用jQuery的同步請求的回答。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.