[英]Fetching data with Event Source synchronously
我對EventSource
有一些問題。 我可以輕松獲取數據,例如可以將數據寫入控制台。 但是,我想從此函數返回此數據。 它不返回,因為存在一些延遲,並且返回未定義。
function fetchData(date,lang) {
var source = new EventSource(*URL*.php?sse=y&lang=" + lang + "&date=" + date);
source.addEventListener('message', function (e) {
return e;
}, false);
}
我怎樣才能做到這一點?
如果這是對數據的一次性請求,則使用EventSource
是該作業的錯誤工具。 EventSource / SSE將在服務器上可用消息時將消息發送到客戶端(您的瀏覽器)。 數據消息將異步通過,因為沒有其他意義。
您可以將事件偵聽器包裝在一個fetchData()
, fetchData()
返回該fetchData()
,並使其在每次收到消息時都解析fetchData()
。 我實際上不確定收到第二條消息時會發生什么。
如果只是一次性請求,則應改用AJAX請求。 同樣,這是異步的。 有一些建議可以使它們在這里看起來像是同步的 ,但是,正如他們在此處所強調的那樣,實際上,您應該嘗試使代碼適應其異步特性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.