2011-11-22 75 views

回答

1

async是提供了一些方法,讓你控制你的程序的流程庫。例如:「我想要異步處理數組中的每個項目,並在所有處理完成後執行此功能」。

TameJS讓你寫的代碼,是不是JS,但將被轉換到JS。它的目標是讓異步編程更容易遵循。

我親自使用TameJS,有幾個問題是:

  • 時報告錯誤,行號是JS文件的行號,而不是你寫的TJS文件。跟蹤錯誤是一種痛苦。
  • 可以有錯誤是很難追查。我記得有一個錯誤return res.send(200)請求沒有被髮送。現在它已經被修復了,但它使我的嘴巴變得非常糟糕。

我現在使用的是async,發現它可以使代碼非常容易閱讀和理解。

作爲最終的建議,也許您應該嘗試編寫自己的代碼來管理控制流。如果你對JS還不熟悉,那麼看看這些庫在內部正在做些什麼,這將是一次非常好的學習體驗。即使你處於緊張狀態,最好理解外部庫的作用,以便充分利用它們。

1

它們是完全不同的,雖然他們試圖大致解決同樣的問題。雖然async是給你一些輔助功能來管理您的異步代碼一個非常酷的流量控制庫,tamejs是(類似streamlinejs,這是我喜歡)的僞同步碼了一堆語言添加的那個被編譯到異步代碼。

+0

我應該使用哪一個? – user847495

+0

@ user847495:取決於。對於低級邏輯,頂級的額外語言似乎不是一個好主意。但是,如果你正在編寫一堆業務邏輯,像streamlinejs這樣的東西可能是正確的工具(事實上,這就是它的目的)。 – thejh

相關問題