2013-03-07 140 views
0

在以下JavaScript代碼中,函數(結果)返回的值是正確的。所以我看到兩個警告視圖 - 一個具有正確的值,第二個警告簡單地返回1.所以我的問題是 - 我如何保存mainResult的值,以便它顯示相同的輸出?JavaScript - 設置變量

var mainResult = 1; 
Download.beginDownload(arr, 
     function(result){ 
      mainResult = result; 
      alert(result); 
      }, function(result){ 
       alert("here2"); 
       console.log(result); 
      } 
); 


alert(mainResult); 
+0

你期待'mainResult'顯示與'result'相同嗎? – 2013-03-07 22:36:00

+0

您的最後一行在您的回調函數運行之前會拋出警報。 – 2013-03-07 22:37:20

回答

0

您有某種異步調用,並且您認爲它是同步調用。

在回調發生之前調用警報。

+0

這是正確的。實際上,我使用的是PhoneGap,用於調用Objective-C代碼。但是,一旦我得到結果,更新mainResult的值的最佳方法是什麼 – 2013-03-07 22:43:44

+0

它在觸發回調時更新。你只是讀得太早。 – epascarello 2013-03-07 22:50:19