繁体   English   中英

可以在回调中设置javascript函数参数的值吗?

[英]Possible to set the value of a javascript function parameter in a callback?

这个头衔是一口气。 这是我在下面的代码中尝试做的事情。 在这种情况下,回调位于jQuery $ .get函数中。

      function getMapMarkup(loadUrl, myVar) {
        me = myVar;
        $.get(
            loadUrl,
            { var1: "hello", var2: "world" },
            function(responseText) {
              me = responseText;
              myVar = me; //doesn't work.  
            },
            "html"
         );     
        }

有没有办法在function(responseText)回调中更改myVar的值,以便以后可以在程序中使用它? 还是有另一种(更好的)方式来做我想做的事情?

如果later on意味着在$.get调用之后立即执行,则否,这是没有办法的,因为AJAX是异步的并且$.get立即返回并且成功回调可以在以后执行。 知道何时发生这种情况的唯一可靠方法是,将取决于其结果的代码放入 success回调中。 您还可以在成功回调中调用其他函数,以将AJAX调用的结果传递给该函数。

您很可能在执行回调之前正在访问myVar

$.get进行异步的AJAX调用,因此,在服务器响应后,回调函数将在以后被调用,因此对myVar任何直接访问都不会具有更新的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM