2013-08-30 40 views
0

我想我的控制器發送多個項目,因爲我找到它們。我可以多次撥打「res.json(item)」嗎?我做了一個快速測試,它接縫工作了一下。當使用sockets.io時,控制器forEach可以「res.json(item)」嗎?

背景:我有一個「集合」模型,其中包含一個ID數組(〜30)。 ForEach Id,我找到了具有該id的「ItemModel」,並將其發送給backbonejs客戶端以將其添加到顯示的列表中。

由於forEach是異步的,並且model.find方法無論如何都需要回調,所以我認爲對於每個項目「res.json(item)」是明智的,發送回~30個幀。

問題產生對事物的Backbone.js的一側〜30幀插座上 Chrome的網絡調試顯示,但骨幹只要求單個renderAdd事件。

我renderAdd功能完全適用於單個此外,只有追加,並已通過查看項目的另一份名單)

一般,我會採取正確的處理方法或做測試,我有一個根本性的缺陷進場?

回答

0

根據這個QAs foreach被阻塞,但BB.js的sync()方法是異步的。您也可以嘗試使用Undescore.js的_.each,這是相同的,但有更好的語法。

_.each([1, 2, 3], alert); 

真正解決你的問題是一次添加多個型號:

ships.add([ 
    {name: "Flying Dutchman"}, 
    {name: "Black Pearl"} 
]); 
相關問題