我目前在 Backbone(或周围)遇到了一个奇怪的问题。我有一个 Backbone 集合对象,我为其添加了自定义成功和错误回调。
A) ----> 工作
Fubars = Backbone.Collection.extend({ url: "/listfubar", model: Fubar, fetchS: function() { fetch( { success : sFn, error : eFn, statusCode : cFn }); }, }) var fbars = new Fubars(); fbars.fetchS();
B) ----> 破坏
afterPoll = function() { fbars.fetchS() }
当通过常规 JavaScript 文件 A) 调用 Fubars.fetchS
时,这可以正常工作。但是,当 fetchS (和提供的回调)本身从 ' ajaxPoll 调用时,我遇到了问题' 回调 B) 。 fetchS
被正确调用,回调全部存在,并且通过 Backbone.sync > JQuery.ajax 进行网络调用。但成功、错误或 statusCode 回调永远不会被调用(同样,网络调用肯定会出去,并成功返回)。
有人遇到过这种情况吗?我只能认为,当 afterPoll
退出时,成功和错误回调可能会以某种方式消失。但 fubars 是一个全局对象,因此没有任何意义。
我看过类似的帖子( here ),但没有解决我的问题。非常感谢任何见解。
最佳答案
这样做是为了获取..
(function fetch(){success:...,error:... }).call();
or
(function fetch(){return {success:...,error:...}
}).call();
关于javascript - 'fetch' 之后未调用成功/错误回调(在 Backbone.Collection 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7924097/