我目前正在開發一個應用程序主要用於自我教育的目的,因爲我還沒有完全地使用js的我可以利用一些幫助我的問題:等待多個活動
在我的應用我使用一個用於DOM操作,頁面轉換,ajax調用等的JavaScript庫(jqMobi),我還使用phonegap訪問設備功能,如地理定位。
當我開始了我的程序,我想獲得設備的地理位置,發送AJAX(JSONP)要求到我的服務器(包括設備的地理位置),它返回我將使用JSON對象的數組建立一個清單。
在我可以得到地理位置之前,我需要等待phonegap加載。在使用jqMobi進行ajax調用並處理響應之前,我需要等待它加載。
所以我基本都對事件即時通訊聽
document.addEventListener("DOMContentLoaded",execute_this,false); //jqMobi is now ready
document.addEventListener("deviceready", execure_sth, false); //Phonegap is now ready
如何儘快執行功能這兩個事件都燒不前?
如果我使用jQuery,我會利用它的$ .Deferred對象和它的When ... Then Function,但因爲我沒有訪問這些我正在尋找替代品。
在此先感謝您的幫助!
感謝您的幫助。但有一個問題:如果在DOMContentLoaded之前發生deviceready事件,會發生什麼?它仍然會調用execute_sth嗎? – marius2k12
請參閱根據phonegap站點http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html 「通常情況下,一旦HTML文檔的DOM具有一個附加事件偵聽器和document.addEventListener裝「。 – ppsreejith