例:
var readBackend = function(){
var deferred = q.defer();
readData().then(function(data) {
deferred.resolve(data);
})
return deferred.promise;
}
class Test {
constructor(){
readBackend().then(function(data) {
this.importantData = data;
})
}
someFunc() {
//iterate over important data, but important data is defined
//promise didnt resolved yet
}
}
var test = new Test();
test.someFunc(); //throws exception!
Run Code Online (Sandbox Code Playgroud)
有没有办法确保,当我调用时,对象属性是由构造函数启动的someFunc?
我想到的唯一方法是创建init函数,它将返回promise,但是,每次我使用我的类时,我都会依赖init函数来正常工作