正在寻找解决方案,但找不到解决方案。
let instance = new Obj(arguments, function() {
instance.instanceMethod(function() {
console.log('status');
})
})
我正在尝试从实例创建中的回调中调用实例的方法。我该如何正确实现这个逻辑?以上不起作用,节点将“实例”报告为未定义。我尝试在外部回调函数的末尾添加“bind(this)”,但这也不起作用。
答案 0 :(得分:0)
function Obj(args, cb){
setTimeout(cb, 0);
}
Obj.prototype.instanceMethod = function(cb){cb();};
let instance = new Obj([1,2,3], function() {
instance.instanceMethod(function() {
console.log('status');
})
});
使用setTimeout调用使用实例async
的函数。所以实例将首先被函数调用。