0

我正在嘗試構建一個Web應用程序,其中我在JavaScript控制器類中抽象了邏輯。我想盡量減少該類以外的函數調用。在應用程序框架中處理異步JavaScript代碼的最佳做法

一旦進入我的應用程序中的頁面,無論何時用戶執行任務,我都希望標記以前的操作在我的服務器上完成。所以我在我的javascript類中調用一個方法,例如。 EndTask(id),然後發送一個ajax命令到服務器。不,我希望在允許用戶繼續前進之前等待對我的ajax命令的響應。 我也想確保我的javascript api保持在最低限度,並且頁面不必註冊任何回調。

所以實質上,我想只調用EndTask(),並且當函數返回時,頁面會理解完成標記任務的整個過程。

有什麼辦法可以在javascript中做到這一點,沒有將ajax調用標記爲同步?

+0

JavaScript中沒有類。 – RobG

+0

[Backbone.js](http://backbonejs.org/#introduction)可能有幫助。 –

+0

@RobG :)我的意思是使用面向對象的JavaScript。 – Saibal

回答

2

在JavaScript中有可能make an asynchronous function synchronous,但要做到這一點,您需要使用目前僅支持Firefox的generators

我建議你同步AJAX調用,並回退到Firefox中的生成器,因爲它不支持同步的XMLHttpRequest對象。但是請注意,這可能會導致代碼冗餘。

+0

這與我所尋找的非常接近。希望看到這是否可以通過現有的模式,而不是新的語言功能。 – Saibal

相關問題