回答
JavaScript是祈使句和單線程的,它只是工作這樣。直到function1()
完成,function2()
纔會啓動。
如果通過緩慢你的意思是通過AJAX異步調用一些外部服務,那麼我們正在談論。 function1()
必須提供某種回調的,這樣,當異步請求完成,function2()
叫做:
function1(function2);
實現是微不足道的,例如使用jQuery:
function function1(callback) {
$.ajax({url: 'some-url'}).done(callback);
}
您必須使用一些AJAX請求。因此,AJAX完整的調用回調函數等之後:
function1 = new function(callback) {
$.ajax({...}).done(callback());
}
function1(function2);
如果你的其他後調用一個函數,那麼將完成第一或者它可能是慢或快。
如果要異步調用函數,除了明顯的回調方法外,它們的排序可以基於事件框架。您可以添加一個事件偵聽器,並將函數1作爲處理函數,並在函數2中觸發該事件。
@downvoter你能不能請解釋downvote留言? –
不是我的倒退,我也得到-1。似乎這裏的所有答案都是downvoted,除[一](http://stackoverflow.com/a/13100082/605744)。嗯... –
- 1. jquery:等待一個函數來完成
- 2. 等待上一次函數來完成
- 3. 不要等待函數來完成
- 4. 等待jQuery的get函數來完成
- 5. 等待一個遞歸的jQuery函數完全完成
- 6. JQUERY - 等待window.location.href來完成
- 7. 等待QueueUserWorkItem來完成
- 8. 問題等待多個遞延函數調用來完成
- 9. 的Node.js - 等待多個函數來完成
- 10. 試圖等待一組NSURLConnections來完成
- 11. 等待一個函數完成多個資源調用
- 12. 在HTML中等待Javascript函數完成
- 13. 如何不等待函數完成python
- 14. 使用承諾等待函數完成
- 15. 等待函數在JavaScript中完成
- 16. Backbone Javascript:等待一個函數在運行另一個函數之前完成
- 17. 等待一個Ajax調用的數組來完成
- 18. 等待完成
- 19. 等待完成
- 20. 等待一個進程完成ThreadPool.UnsafeQueueUserWorkItem()函數內部
- 21. 如何調用一個函數,但不等待完成 - ASP.NET
- 22. 函數無需等待前一個完成而運行
- 23. 如何讓一個函數等待異步調用完成?
- 24. 等待函數完成後再繼續主(一個線程)
- 25. 在啓動另一個之前等待函數/補間完成
- 26. jquery等待$。每個完成
- 27. 等待多個$ .getJSON完成
- 28. 等待完成幾個DBMS_SCHEDULER.CREATE_JOB
- 29. 替代的setInterval是等待函數來完成
- 30. 多叉,等待第一個完成
這有什麼關係? – Prasanth