如何在 TypeScript 的回调中设置 类 的 属性?
How to set classes's property in callback in TypeScript?
这是我正在尝试做的事情:
class User {
name: string;
userService: UserService; //service which fetches data from server
successCallback(response: any) {
this.name = string;
}
setUser() {
var xhr: JQueryXHR = this.userService.fetchUser(); //Returns JQueryXHR object
xhr.then(this.successCallback);
}
}
现在,当我在 User 实例上调用 setUser 方法时 class:
var user: User = new User();
user.setUser();
successCallback
中的 this.name
计算结果为未定义
如何在回调函数中获取class的属性?
这是因为该方法是在 window
上下文中计算的。
结束 xhr.then
调用:
xhr.then(response => {
this.successCallback(response);
});
=>
将确保 this
引用此 class 的实例。
这是我正在尝试做的事情:
class User {
name: string;
userService: UserService; //service which fetches data from server
successCallback(response: any) {
this.name = string;
}
setUser() {
var xhr: JQueryXHR = this.userService.fetchUser(); //Returns JQueryXHR object
xhr.then(this.successCallback);
}
}
现在,当我在 User 实例上调用 setUser 方法时 class:
var user: User = new User();
user.setUser();
successCallback
中的 this.name
计算结果为未定义
如何在回调函数中获取class的属性?
这是因为该方法是在 window
上下文中计算的。
结束 xhr.then
调用:
xhr.then(response => {
this.successCallback(response);
});
=>
将确保 this
引用此 class 的实例。