gpt4 book ai didi

javascript - ExtJS 4 - 对 callParent 的异步回调抛出异常

转载 作者:行者123 更新时间:2023-12-02 07:03:34 26 4
gpt4 key购买 nike

我想在处理到 callParent() 之前准备一些 Json Store,然后它会抛出错误。

但是,me.callParent() 在没有异步回调的情况下也能正常工作。

Ext.define('My.desktop.AppExt', {
extend: 'Ext.ux.desktop.App',

someStore: null,

init: function() {
var me = this;
me.someStore = Ext.create('My.store.SomeStore');
me.someStore.load({
scope: this,
url: 'some/json/url',
callback: function(records, opt, success) {
if (success) {
me.callParent(); // BOOM! ERROR HERE
}
}
});
}
});

错误:

//localhost/js/ext-all-debug.js 中第 4245 行第 17 列未处理的异常

0x800a138f - JavaScript 运行时错误:

无法获取未定义或空引用的属性“父类(super class)”

最佳答案

callParent 依赖于上下文来调用正确的方法,因此如果您实际上不是从子类方法中“直接”调用它,则需要手动调用它:

Ext.define('A', {
foo: function(){
console.log('foo', 'a');
}
});

Ext.define('B', {
extend: 'A',
bar: function(){
this.self.superclass.foo.call(this);
}
});

Ext.onReady(function(){
var o = new B();
o.bar();
});

关于javascript - ExtJS 4 - 对 callParent 的异步回调抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16383894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com