如何知道Backbone model.fetch()何时完成?

use*_*947 11 javascript backbone.js backbone-events backbone-model

我绑定了我的骨干模型的更改事件.

this.model.on( "change", this.render, this );
Run Code Online (Sandbox Code Playgroud)

有时我想获取模型的最新版本并强制渲染视图.所以我这样做

this.model.fetch();
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果新数据与先前存储在模型中的数据不同,model.fetch()仅触发change事件.

当获取完成时,我怎样才能始终触发this.render回调,无论它是否触发更改事件?

在此先感谢您的帮助

Ben*_*Ben 12

您可以使用$.ajax成功回调,但您也可以只监听模型上的Backbone syncerror事件.sync成功调用服务器后error触发,在调用服务器失败后触发.

this.model.on('sync', this.render, this);
this.model.on('error', this.handleError, this);
Run Code Online (Sandbox Code Playgroud)