Javascript 在';之后未调用成功/错误回调;获取';(关于主干。收集)

Javascript 在';之后未调用成功/错误回调;获取';(关于主干。收集),javascript,jquery,javascript-events,backbone.js,Javascript,Jquery,Javascript Events,Backbone.js,我目前有一个奇怪的问题(或周围)骨干。我有一个主干集合对象,我为它放置了自定义的成功和错误回调 A) ----->工作 Fubars = Backbone.Collection.extend({ url: "/listfubar", model: Fubar, fetchS: function() { fetch( { success : sFn, error : eFn,

我目前有一个奇怪的问题(或周围)骨干。我有一个主干集合对象,我为它放置了自定义的成功和错误回调

A) ----->工作

Fubars = Backbone.Collection.extend({ url: "/listfubar", model: Fubar, fetchS: function() { fetch( { success : sFn, error : eFn, statusCode : cFn }); }, }) var fbars = new Fubars(); fbars.fetchS(); fubar=Backbone.Collection.extend({ url:“/listfubar”, 型号:Fubar, fetchS:function(){ 获取({成功:sFn, 错误:eFn, 状态代码:cFn }); }, }) var fbar=新的fubar(); fbar.fetchS(); B) --->断裂

afterPoll = function() { fbars.fetchS() } afterPoll=函数(){ fbar.fetchS() } 当通过常规javascript文件(a)调用“fubar.fetchS”时,这可以正常工作。但是,当回迁(以及提供的回调)本身从“”回调B调用时,我遇到了一个问题“fetchS”被正确调用,回调都存在,网络调用通过Backbone.sync>JQuery.ajax进行。但是从不调用success、error或statusCode回调(同样,网络调用肯定会发出并成功返回)

有人碰到过这个吗?我只能认为,当“afterPoll”退出时,成功和错误回调可能会以某种方式消失。但是“fubar”是一个全局对象,所以这没有任何意义

我看过类似的帖子(),但没有解决我的问题。非常感谢您的任何见解

感谢您为fetch执行此操作。。

    (function fetch(){success:...,error:... }).call();
    or
    (function fetch(){return {success:...,error:...}
     }).call();
    

我怀疑,问题可能是由于缺少此

尝试替换此语句:

    fetch(  { success : sFn, 
                error : eFn, 
                statusCode : cFn 
    }); 
    this.fetch(  { success : sFn, 
                error : eFn, 
                statusCode : cFn 
    });
谨此声明:

    fetch(  { success : sFn, 
                error : eFn, 
                statusCode : cFn 
    }); 
    this.fetch(  { success : sFn, 
                error : eFn, 
                statusCode : cFn 
    });

我想知道
fetch()
是否需要引用
fbar
实例。当您执行
afterPoll=u.bind(fbar.fetchS,fbar)时会发生什么;afterPoll()?您是否打开了控制台窗口以查看是否有异常?您应该澄清回调是否根本没有被调用或不起作用。我敢打赌,它们是被调用的,但它们不起作用,因为它们没有正确的“this”,您应该使用bind或bindAll在回调中将当前对象设置为“this”,也没有例外;轮询回调有效,但之后的“成功”回调无法用于获取。最终通过绕过它解决了这个问题>“this”引用消失了。当轮询回调调用fetchS时,它的“success”回调会在网络调用后消失>我尝试“bindAll”this to fetch、fetchS、sync(实际调用$.ajax的Bb fn)等,但没有任何效果>在轮询后直接调用$.ajax,手动设置Fubar集合,结果>没有尝试hyperslug的建议-一个有趣的尝试。真的想知道“this”在哪里丢失为什么不使用Backbone.collection的原始获取方法传递成功和错误回调?如下所示:fubar.fetch({success:sFn,error:eFn});In表示可以将参数传递给fetch方法。。