我在學習如何編寫一個Chrome擴展。但是,我沒有太多的異步編程經驗,並且導致了我的問題。暫停JavaScript,直到執行一個函數
chrome.windows.create(newWindow, function(t){myArray.push(t);});
// When I call myArray next it has not yet updated.
我該如何解決這個問題?
我有一個while循環的一些想法
地說:
int tempLength = myArray.length;
chrome.windows.create(newWindow, function(t){myArray.push(t);});
While (tempLength = myArray.length)
{
//nothing
}
// call myArray
或添加chrome.windows.create
後10毫秒的延遲什麼工作最好?是否有一個函數來處理這種情況?
循環將永遠不會退出。正如您在上一個問題中所解釋的那樣,在瀏覽器返回到主事件循環之前,窗口創建不會發生。 – Barmar
代碼看起來不怎麼樣javascripty – ajax333221
任何依賴窗口創建的東西都應該在回調函數中。你在另一個問題中已經被告知了這一點。 – Barmar