gpt4 book ai didi

javascript - Angularjs promise 这个引用窗口

转载 作者:行者123 更新时间:2023-11-30 00:29:22 24 4
gpt4 key购买 nike

我制作了一个带有加载函数的基本模型,定义如下:

    BaseModel.prototype.load = function(id) {
var deferred = $q.defer();

var self = this;
Db.getById(this.getTableName(), id).then(function(data) {
deferred.resolve(new BaseModel(data));
//self has a reference to window here
}, function(err) {
deferred.reject(null);
});

return deferred.promise;
};

在我派生自这个基本模型的子类中,我用以下方式调用它:

return BaseModel.prototype.load.call(this, id);

但是在 promise 的“成功”部分,“var”自身有一个对窗口的引用……是否可以保留对我的对象的引用,如果可以,怎么做?我找不到这方面的例子。

提前致谢!

最佳答案

return BaseModel.prototype.load.call(this, id); <-- 这一行是你的问题。我不确定你在那里做什么,但据我所知,你正在设置 this 值使用 call,这可能在那个代码点,指向 Window 对象。

如果 BaseModel 的子对象是 childObj。该行可以简单地是:

return childObj.load(id);

关于javascript - Angularjs promise 这个引用窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30185369/

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