¿Qué técnica se debe usar para implementar la inserción/actualización de lotes para Backbone.sync?¿Extender Backbone.sync a la sincronización por lotes?
Respuesta
Supongo que depende de los escenarios de uso y de la cantidad que desee cambiar el código de llamada. Creo que tienes dos opciones:
Opción 1: Ningún cambio en el cliente (llamar) código de
Curiosamente la source for Backbone.sync anotada da 'dosificación' como una posible razón para anular el sync
método:
Use setTimeout para realizar actualizaciones rápidas en lotes en una única solicitud.
En lugar de guardar la sincronización, agregue la solicitud a una cola y solo batch-save cada cierto tiempo. _.throttle
o _.delay
podría ayudarlo aquí.
Opción 2: Cambiar el código de cliente
Como alternativa, en lugar de llamar save
en sus modelos, se podría añadir algún tipo de método para save
colecciones. Tendría que rastrear qué modelos fueron realmente modificados y, por lo tanto, necesitan actualización, ya que, por lo que puedo decir, Backbone solo sabe si son nuevos o no (pero podría estar equivocado al respecto).
Así es como lo hice
Backbone.originalSync = Backbone.sync;
Backbone.sync = function (method, model, options) {
//
// code to extend sync
//
// calling original sync
Backbone.originalSync(method, model, options);
}
funciona bien para mí, y lo uso para controlar cada petición Ajax que sale de cualquier modelo o colección
- 1. Backbone.sync por modelo
- 2. Cómo deshabilitar Backbone.sync para un nuevo modelo y volver a habilitar la sincronización * después * el usuario pulsa el botón Guardar
- 3. Cómo ocultar la salida por lotes
- 4. Cómo llamar a los padres método de sincronización columna vertebral
- 5. ¿Por qué extender la clase de excepción?
- 6. ¿Archivo por lotes equivalente a CURRENTDIR = "$ PWD"?
- 7. LINQ a SQL por lotes borrar
- 8. Cómo convertir por lotes bdsproj a dproj?
- 9. Incluir un archivo por lotes en un archivo por lotes
- 10. exportación por lotes archivos psd a png
- 11. llame a la clase java en el archivo por lotes
- 12. Bucle script por lotes
- 13. actualización por lotes MySQL
- 14. Gráficos 3D por lotes
- 15. Anular backbone.sync pero guardar su funcionalidad anterior
- 16. ¿Por qué la llamada a un archivo por lotes anidado sin anteponer "call" a la línea sale del archivo por lotes principal?
- 17. JQuery - Extender y acceder a la superclase
- 18. archivo por lotes se detiene después de la primera llamada a otra secuencia de comandos por lotes
- 19. Excepciones a C++: ¿Por qué usar o extender std :: exception?
- 20. actualización por lotes con Mangosta
- 21. Codificación de archivo por lotes
- 22. por lotes, incluyendo los subdirectorios
- 23. extender la clase DOP
- 24. Sincronización de acceso a SimpleDateFormat
- 25. subrutinas en archivos por lotes
- 26. ¿Extender la biblioteca estándar de C++ por herencia?
- 27. Importación por lotes de documentos json a Apache CouchDb
- 28. Archivo por lotes Para cargar .txt a FTP
- 29. Redirigir argumentos pasados a un archivo por lotes de Windows
- 30. Volver a asociar archivos de proceso por lotes con Cmd.exe
Si utilizo '' _.throttle' o _.delay', ¿cómo envío múltiples 'actualizaciones' en una sola solicitud ajax? matriz de modelos? – Henry
Hay varias formas, y realmente depende de sus patrones de acceso a los datos. Hay una discusión aquí: http://stackoverflow.com/questions/411462/restful-way-to-create-multiple-items-in-one-request – stusmith