我有一個非常奇怪的情況。我想return
一些數據 - 通過ajax下載的數據。到目前爲止,同步模式不能及時獲得數據到return
。是否有可能我可以從父函數的子函數中調用return
,或者timeOut是否可以解決問題?我無法想到另一種方式,但必須返回數據。有沒有一種方法可以從JavaScript中的子函數調用父函數的返回值?
回答
的回答你的問題是沒有。
在異步請求中,函數必須在結果可用之前返回。要解決這個問題,需要使用回調模式 - 在調用這樣的函數時,您不希望返回,而是提供一個回調函數 - 一旦結果可用,就會調用該函數。
這裏有一個簡單的例子:
var someValue;
fetchValueFrom('http://example.com/some/url/with/value', function(val) {
someValue = val;
doSomethingElseWith(someValue);
});
在這裏,我們創建一個函數,並把它作爲第二個參數去了fetchValueFrom
通話。一旦該值可用,該函數將被調用,並將設置該變量並調用另一個函數來繼續執行。
只要通過false
作爲第三個參數到XMLHttpRequest.open
。這意味着「同步運行此查詢」。
我很喜歡'$ .ajaxSetup({0} {0} {0} {0}我不喜歡',它會解決我所有的問題,但我的代碼似乎忽略它? – 2010-02-26 00:44:53
「從Gecko 30.0(Firefox 30.0/Thunderbird 30.0/SeaMonkey 2.27)開始,由於對用戶體驗的負面影響,主線程上的同步請求已被棄用。」 – 2015-08-18 10:44:16
你可以提供一個回調函數:
function parentfunction(callback) {
callback(getAjax());
}
function childfunction() {
parentfunction(function(ajaxData) {
//Do stuff with data
});
}
+1回調是在這種異步場景中走的路。 – 2010-02-26 00:32:10
- 1. 有一種方法可以從素面調用javascript函數
- 2. 有沒有一種方法可以跟蹤函數被調用的次數?
- 3. 有沒有一種方法可以在JavaScript函數中包含PHP值?
- 4. 從Rhino調用腳本時,有沒有一種方法可以在javascript函數中使用可選參數?
- 5. 有沒有一種方法可以改變Javascript中的函數內的原型?
- 6. 無法獲取回調函數以將值返回父函數
- 7. 獲取函數的回調以將值返回給父函數
- 8. 有一個array.forEach的JavaScript函數可以返回一個值給調用者嗎?
- 9. 有沒有一種方法可以插入獨立函數來返回`bool`並在jQuery Validate管道中調用?
- 10. JavaScript的子函數通過返回父函數返回
- 11. Javascript遞歸函數沒有返回值?
- 12. JavaScript函數沒有返回值
- 13. JavaScript函數沒有返回值
- 14. 有沒有一種方法可以在創建類時自動調用函數
- 15. php代碼調用javascript函數返回函數沒有定義
- 16. 從子函數返回父函數的值
- 17. 從Javascript函數調用返回值
- 18. 如何從子函數(JavaScript)中更改函數的返回值
- 19. 從Javascript中的回調函數返回
- 20. 有沒有什麼方法可以追溯到一個javascript函數調用?
- 21. 從函數返回一個回調函數的返回值(嵌套函數)?
- 22. 調用Javascript函數返回一個未定義值的函數
- 23. 帶有AJAX調用的Javascript函數 - 迴應後的返回值
- 24. 有什麼辦法可以在回調函數中返回一個值嗎?
- 25. 有沒有一種方法可以將數學函數作爲Python 3中函數的參數?
- 26. 有沒有一種方法可以在頁面回發後從同一點繼續執行JavaScript函數?
- 27. 有沒有一種方法可以讓Grails中的控制器訪問函數?
- 28. 有沒有一種方法可以獲取javascript函數所採用的參數的參數?
- 29. 有沒有一種方法在JavaScript中超時之後再次調用當前函數(以及它的參數)?
- 30. 從JavaScript中的函數返回函數
返回*不是*函數!雖然也許引發異常可以做你想做的事情? – Ponkadoodle 2010-02-26 00:33:05
有沒有一種方法可以像'return'那樣返回一個數組? – 2010-02-26 00:56:42
也許在你的函數中告訴你正在使用jQuery是合適的? – zneak 2010-02-26 00:57:50