0
我試圖創建一個小的JavaScript框架,可以使它更容易處理第三方庫。該庫主要是異步的,例如要建立一個連接,你將使用代碼:封裝異步請求
var com = establishConnection("api-key");
com.onsuccess = function(c) {
c.submit("something");
};
我要的是能夠用我的包裝框架,能夠簡單地做
var com = establishConnection("api-key");
com.submit("something");
很顯然,儘管我需要一種方法來處理原始庫的異步性質,因此它將在執行命令之前等待連接建立。我知道我可以做類似設置一個標誌,表示該連接是否成立,然後使用某種類型的循環延遲,即
function submit(msg) {
while (!connectionEstablished) {}
// do submit stuff
}
但它似乎是這樣一個醜陋的黑客攻擊,沒有任何人有任何意見更好的方法來做到這一點?
是的,我同意,不幸的是,有幾點我將要掩蓋異步性,只是希望有一個更好的解決方案。大多數時候異步請求都很快,它們都是通過本地服務器運行的,但我想我可以選擇性地屏蔽哪些行爲,並且只在完全必要時才屏蔽。不過謝謝 –