Trong chức năng đánh số dưới đây, 'this' không giải quyết được ví dụ của EmailValidator. Làm thế nào tôi có thể sửa chức năng này để nó giải quyết đúng thể hiện của EmailVaildator và đến lượt nó, để tôi có thể truy cập _registerServices?Truy cập 'this' Inside Promise
class EmailValidator {
constructor(private _registerServices: RegisterServices) { }
isAvailable(c: AbstractControl): Promise<ValidationResult> {
let q = new Promise((resolve, reject) => {
this._registerServices.emailIsAvailable(antiForgeryToken(), c.value)
.then(result => {
// Need to actually check the result.
resolve({ "emailtaken": true })
},
error => {
// Need to communicate the server error? Probably not.
resolve({ "servererror": true })
});
});
return q;
}
}
Hmm. Có vẻ như mũi tên béo đã được thực hiện. Và nhìn vào Javascript được tạo ra, nó dường như bí danh 'này' đúng. Bạn có chắc đó là vấn đề bạn đang thấy không? – Thilo
@Thilo Tôi đã phát hiện ra vấn đề là một chút ẩn và vấn đề là ở nơi khác. Tôi đã khám phá cách khắc phục sự cố của mình, nhưng có những chi tiết xung quanh 'tại sao' vấn đề xảy ra mà tôi thực sự đánh giá cao một số hướng dẫn. Tôi sẽ đăng giải pháp của tôi. –