如何控制JavaScript首先運行哪個函數, 我並不總是希望該特定函數先運行,而是運行其他函數。 怎麼辦?如何控制哪個函數首先在Javascript中運行
-6
A
回答
0
JavaScript是單線程的,取其被調用的函數按該順序執行。這條規則唯一的例外是事件循環如何執行。
因此,對setTimeout或setInterval的調用無法給出真正的想法,首先會調用哪個方法。即使您使用setTimeout具有相同的時間間隔。第三種方法應該首先在事件隊列中執行,但這可能會受到實現的影響。
如果你想同步evented函數,你會有一系列的工具和庫,它們只是你需要的。
當某種工作完成時,回調方法可用於調用延續。這種模式已經在稱爲Promise的更復雜的數據結構中得到了改進。
承諾與回調幾乎相同,但它們在語法上更好用。
回調:
function foo(id, callback){
//ajax.get('/data/' + id, callback)
ajax.get('/data/' + id, function (data) {
callback(data)
})
}
foo(id, function (data) {
alert(data)
})
承諾:
function foo(id) {
return promiseGet('/data' + id)
}
foo(4).then(function (data) {
alert(data)
})
承諾的好處是,它們可以被鏈接,因此,您可以使用異步的API,很像通常同步的API。所有的「然後」部分將按照您添加它們的順序執行。
以下是諾基亞的網站,對諾言做了很好的解釋。 https://www.promisejs.org/
0
使用自調用函數表達式
如:
(function (i) {
console.log(i):
})(5);
並確保,這到來之前任何類似的功能,包括一個在外部添加腳本
相關問題
- 1. 如何控制哪個測試用例首先運行?
- 2. 哪個函數將首先在angularjs指令中執行?鏈接或控制器?
- 3. 如何控制哪個Canvas圖層首先繪製(JCanvas)
- 4. 哪個函數在asp.net中首先執行?
- 5. 哪個類首先在Python中執行?
- 6. JavaScript函數首先點擊
- 7. 如何控制在OpenERP中首先安裝哪個依賴模塊?
- 8. 執行函數首先在Postgres中
- 9. Haskell如何知道哪個函數可以先運行?
- 10. pytest中首先執行哪個文件?
- 11. 如何在不首先運行函數腳本的情況下使用函數?
- 12. 如何使JavaScript回調函數首先執行?
- 13. 如何在一個控制器中運行函數?
- 14. 首先,運行IOIOFactory.create()
- 15. 如何控制javascript函數的執行?
- 16. 哪個版本的Sql Server可以首先運行這個?
- 17. 哪一行首先更新?
- 18. 哪一個首先被調用在SCR運行時激活函數或綁定函數
- 19. 哪個函數首先覆蓋在Android的
- 20. 如何在JavaScript函數中運行JQuery
- 21. 在SCons中首先運行構建
- 22. 如何確保2個函數中的一個先運行
- 23. 哪個模塊首先接收數據
- 24. 如何控制函數在MATLAB中運行的位置?
- 25. 哪個操作將在Android中onStart或onCreate中首先執行
- 26. 如何控制在UpdatePanel部分回發endRequest後運行哪個JavaScript?
- 27. 警報器首先運行?
- 28. 另一個函數內部jQuery函數首先執行
- 29. 可選參數首先在JavaScript中
- 30. 有沒有辦法強制javascript函數先運行
將「that」功能放在「其他」後面 –
請您分享一下您的代碼嗎?你的問題太模糊,無法回答。謝謝 – Christos
在「其他」之後調用「that」功能 – Oriol