2013-03-07 103 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