请不要复制它。我处在一个大问题的中间。我正在使用包含数千行代码的javascript代码。我的问题是:
从其自己的类调用methodA 。
methodA{
doSomething(abc, def, function(obj){
obj.getName();
});
}
doSomething(abc, def, callback){
// codes....
callback(new XYZ());
}
在XYZ类构造函数中,我使用了几个Jquery Deffered对象(带有ajax调用)。所以我的问题出在obj.getName()
我收到错误this.name
未定义。那么当控件进入obj.getName()
函数时,如何确保整个新XYZ()执行完全结束(所有ajax调用,回调等)?
感谢
答案 0 :(得分:1)
您可以使用函数回调来实现此目的。 更多可以通过jquery延迟在谷歌上搜索 作为shown here
var jqDeferred = doSomething(abc,def,function(obj){
});
jqDeferred.done(function(){
obj.getName();
})
doSomething(abc,def,callback)
{
}
答案 1 :(得分:0)
你可以使用.when和.then => http://api.jquery.com/jquery.when/
methodA{
doSomething(abc, def, function(obj){
$.when(callback(new XYZ())).then(obj.getName());
});