2017-01-19 97 views
0

我的網頁的onready功能看起來是這樣的:我的網頁上如何掛入SystemJs.import的完整事件?

$(function(){ 
    importJS(); 
    init(); 
}); 

的importJS()函數如下:

function importJS() 
{ 
    // set js ref path 
    SystemJS.config({ 
    baseURL: '/js/' 
    }); 

    //load js modules 
    SystemJS.import('Init.js'); 
} 

的Init.js lib中有一個init()函數,但當我的onready函數運行時,init()函數調用沒有找到init()函數。我瀏覽了Chrome開發工具,看起來像init()被調用時,importJS()還沒有完成加載Init.js。使這個代碼有效的訣竅是什麼?即如何確保SystemJS在init()被調用的時候已經完全加載了Init.js?

回答

0

SystemJS.import返回一個承諾,呼籲init()導入完成後,最簡單的方法是從importJS()返回的承諾,並在其then回撥電話init()

$(function(){ 
    importJS().then(function() { 
     init(); 
    } 
}); 

function importJS() 
{ 
    // set js ref path 
    SystemJS.config({ 
    baseURL: '/js/' 
    }); 

    //load js modules 
    return SystemJS.import('Init.js'); 
} 
相關問題