簡體   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