我需要一個同步函式(它可以是阻塞的)。
我需要使用 Fetch,當 promise 準備好時,我想在同步函式上回傳它。
我到處找我都找不到答案。
uj5u.com熱心網友回復:
我需要一個同步功能
不太可能。
(它可能會阻塞)。
這就是同步的意思。
長時間運行的阻塞功能(包括網路操作)會導致嚴重的可用性問題,應該避免。
我需要使用 Fetch,當 promise 準備好時,我想在同步函式上回傳它。
這是不可能的。
XMLHttpRequest有一個同步模式,雖然它已被棄用且不應使用。
您可以通過將false其作為第三個引數傳遞給來激活它open。
xhr.open("METHOD as string", "URL as strong", false);
fetch從中吸取了教訓XMLHttpRequest,但沒有實施任何類似的措施。
學習如何處理異步代碼。async和關鍵字將await讓您以同步的方式寫入。
uj5u.com熱心網友回復:
你不能像這樣阻塞主執行緒,瀏覽器不會允許你(或 nodejs,因為我不知道是哪個)。沒有同步的方式來獲取這樣的資訊。您可以改為使用async/await讓您的代碼避免回呼。做你想做的事可能是非常不明智的,而且有一個更好的解決方案,但由于缺乏背景關系,我不能告訴你更多。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/483139.html
標籤:javascript 异步
上一篇:如何通過點擊搜索結果添加多張卡片
下一篇:如何動態創建和修改多個SVG
