0

我希望我的控制器在我找到它们时发送多个项目。我可以res.json(item)多次调用“”吗?我做了一个快速测试,它看起来有点工作。

背景:我有一个“集合”模型,其中包含一个 id 数组(~30)。对于Each Id,我找到具有该ID 的“ItemModel”并将其发送到backbonejs 客户端以将其添加到显示的列表中。

由于 forEach 是异步的,并且 model.find 方法无论如何都需要回调,我认为res.json(item)为每个项目“”发送回大约 30 帧是明智的。

问题出现在主干.js 方面,因为在 chrome 的网络调试中显示了大约 30 个套接字帧,但主干只调用了一个 renderAdd 事件。

我的 renderAdd 函数非常适合单次添加,仅追加,并且已通过查看另一个项目列表进行了测试)

总的来说,我是采取了正确的方法还是我的方法存在根本性的缺陷?

4

1 回答 1

0

根据这个QAs foreach 是阻塞的,但是 BB.js 的 sync() 方法是异步的。您也可以尝试使用Undescore.js的 _.each,它是相同的,但语法更好。

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

您问题的真正解决方案是一次添加多个模型:

ships.add([
  {name: "Flying Dutchman"},
  {name: "Black Pearl"}
]);
于 2013-08-30T17:32:50.400 回答