我一直在研究JavaScript中的異步編程。我一直在通過許多代碼片段和jQuery方法,如果我們將一個回調函數作爲參數傳遞給另一個函數,它會異步執行。回調在該函數執行完成後執行。如何編寫異步JavaScript方法?
我已經通過Stack Exchange網絡上關於此主題的一些答案。有人說:我們不能讓我們的代碼異步的,除非我們依賴於一個本地方法來實現該功能
看到這裏https://stackoverflow.com/a/9516967
ALSE這裏https://softwareengineering.stackexchange.com/a/194591
另一個人說,只是路過回調事件使得我們的代碼異步。 https://softwareengineering.stackexchange.com/a/194581
我的問題是,什麼使代碼異步,只是傳遞一個回調,或者我們應該依賴像setTimeout或setInterval這樣的本機方法來獲得異步功能?
你不能用'setTimeout'或'setInterval'實現異步JavaScript。這完全違背了「真正」異步的含義。定時器不能是異步的,因爲它們依賴於這麼多東西。雖然如果我繼續我的獨白,我認爲我會到電腦中沒有什麼是「真實」異步的地步(當然,如果我們不認爲代碼可以在多個線程甚至多個核心上運行):) –
最簡單的方法就像你所說的那樣創建一個「計時器」。這仍然需要客戶端繼續運行您的代碼或異步代碼將停止執行......服務器端RESTful調用將允許您進行休息調用(異步在服務器上運行),然後得到回調這個問題,然而是架構性質和因此這不是適合它的論壇。 – abc123