No es necesario anular sync
en todo el mundo. Puede hacerlo por Modelo/Colección, es decir,
var MyModel = Backbone.Model.extend({
sync: customSync,
...
});
Esto evita anular Backbone.sync globalmente.
Ahora, si no necesita implementar una sincronización completa, por ejemplo, solo tiene que anular fetch
, puede hacerlo también por modelo.
Presumiblemente, ha visto que Overbone.sync ha sido modificado por la versión localStorage. Esto de hecho no es necesario (creo que es una mala práctica). Basta con definir la función personalizada sync
y dejar que los modelos/colecciones la utilicen.
Si no desea sobrescribir 'Backbone.sync()' siempre puede anular 'MyModel.sync()'. Si va a reemplazar 'MyModel.fetch()' y 'MyModel.save()', quizás deba sobrescribir también 'MyModel.destroy()'. De todos modos, creo que todo depende de tu razón para no usar los métodos _sync_ estándar? – fguillen
@fguillen Algunos de mis modelos usarán localStorage mientras que otros usarán el lado del servidor para guardar ... –
Luego lo reemplazaría por 'MyModel.sync()', si hubiera implementaciones de LocalStorage para Backbone. – fguillen