1
我正在使用Ember.js構建一個應用程序。網站的管理部分需要使用一些各種JavaScript庫。異步下載幾個js腳本,然後按順序執行它們
我只想在訪問該網站的管理路線時下載這些庫。
我想我可以做類似下面的StackOverflow的答案:
https://stackoverflow.com/a/11803418/2014469
$.when(
$.getScript("/mypath/myscript1.js"),
$.getScript("/mypath/myscript2.js"),
$.getScript("/mypath/myscript3.js"),
$.Deferred(function(deferred){
$(deferred.resolve);
})
).done(function(){
//place your code here, the scripts are all loaded
});
但我擔心執行這些文件的順序。
假設myscript2.js
依賴於myscript1.js
中的某些功能。
將myscript1.js
加載(!),並執行(!)myscript2.js
過嗎?
如果不是,我該如何異步下載所有文件,然後按順序執行它們?我想到了剛剛鏈.then()
:
$.getScript("/mypath/myscript1.js")
.then(function{$.getScript("/mypath/myscript2.js")})
.then(function{$.getScript("/mypath/myscript3.js")})
但是會等到一個已經下載並執行它甚至開始下載前的未來 - 我想下載所有在同一時間,但隨後在執行它們訂購。
感謝您的幫助。
http://requirejs.org/ – undefined
我一直在找 - 但我認真只需要在我的網站上的一個地方,表面看來,它不需要包含另一個庫來加載這些其他人......縮小版*僅* 14kb雖然...嗯... –
你在找什麼叫做promise鏈接。我會提供一個樣本,但我目前在我的牢房。 –