在example Todos app的Backbone.js的锁定了后台,这发生:多的destroy()S IN Backbone.js的
clearCompleted: function() {
_.each(Todos.done(), function(todo){ todo.clear(); });
return false;
},
这通过发送多个HTTP DELETE请求到任何服务删除多个模型是后盾应用程序。在这个例子的情况下,这是没有问题的B/C他们正在使用本地存储解决方案。
但是当我尝试一个类似的后端数据库(sqlite/datamapper/sinatra)进程时,它发送多个删除http请求的事实同时导致数据库锁定并发回一个错误。
这是你们中的任何一个遇到过的吗?
我能想到的两种方法周围:
有一个destroyBatch()发送ID的数组到DELETE调用,并有西纳特拉嗅出多个ID和处理删除全部一旦服务器端。
在客户端有一个destroyAsync(),它将ID推入队列,并在异步链式响应中逐个调用模型中的destroy(),直到它们全部消失(但您会看到它们在屏幕上逐一删除,每个之间都有一个暂停)。
这些解决方案中的任何一个看起来是否合理,还是我是一只虚弱的鹅,狂放地挥舞着呢?
-j
+1对于问题和图像:-) – 2011-03-02 22:53:07
谢谢肖恩!现在,如果我可以让某人回答我的问题,我将成为一名快乐的露营者。 – James 2011-03-03 03:56:13