Soy un poco nuevo en Backbone.js, pero ya estoy impresionado por todo lo que puede hacer por mí, y estoy tratando de aprender los patrones y las mejores prácticas ahora.Cómo sincronizar múltiples recuperaciones de Backbone.js?
que tienen dos colecciones:
var CollA = Backbone.Collection.extend({
model: ModelA,
url: '/urlA'
});
var CollB = Backbone.Collection.extend({
model: ModelB,
url: '/urlB'
});
var collA = new CollA;
var collB = new CollB;
Al cargar mi aplicación, lo que necesito para obtener ambas de estas colecciones desde el servidor y ejecutar algún código de arranque cuando está garantizado que los dos recuperaciones han completado.
Así es como lo hice por ahora:
collA.fetch({success: function() {
collB.fetch({success: function() {
// run the needed code here.
}});
}});
Esto funciona, el código necesario se garantiza la ejecución sólo después de tanto Obtiene completa con éxito. Sin embargo, es claramente ineficiente, porque las extracciones se ejecutan en serie, una tras otra.
¿Cuál sería un mejor patrón para hacer esto, ejecutar las búsquedas en paralelo y luego ejecutar algún código una vez que ambas búsquedas se hayan completado con éxito?
Gracias. Todas son excelentes respuestas, esta me parece más estética que la versión de guión bajo. Y sí, reestructurar toda la estrategia de carga también es lo que Backbone recomienda en este caso. Pero, a veces, varias adquisiciones y sincronizaciones paralelas son lo apropiado y esto funciona muy bien. – Jaanus