No need to redefine syncglobally. You can do this for a model / collection, i.e.
var MyModel = Backbone.Model.extend({
sync: customSync,
...
});
This avoids overriding Backbone.sync globally.
Now, if you do not need to perform full synchronization, for example, you only need to override fetch, you can, of course, do this on the basis of the model.
, , Backbone.sync localStorage. ( , ). sync /.