Hala js oop üzerinde beni rahatsız eden bir sorunum var - Eminim kötü yapıyorum ama bunu nasıl yapacağımı anlayamıyorum. onun ben başvuru kaybetti muhtemelen "Bu" -Javascript OOP - bunu eşzamansız geri aramada kaybettim
Örneğin, ben bu kodu
Auth.prototype.auth = function() {
var request = new XMLHttpRequest();
request.open('GET', this.getAuthServerURL() + '/token', true);
request.send();
request.onloadend = function() {
var response = JSON.parse(request.responseText);
console.log(response);
if(response.result == 'found') {
var token = response.token;
this.setToken(token);
this.isSigned = true;
} else {
console.log('Not logged yet.');
}
}
}
var Sorun "request.onloadend" fonksiyonunun bağlamından setToken işlev erişimi edemem olmasıdır.
Bu sorunun çözümü nedir? "Bu" varumu bir şekilde bu işlevin içeriğine geçirebilir miyim?
Teşekkürler!
var self = this;
request.onloadend = function() {
...
self.setToken(token);
...
};
Sanırım diğeri daha doğrudan, kod minimum düzeyde değişti ve hangi sahte anahtar sözcüğün kullanılacağına karar vermenize gerek yok. Sadece söylüyorum. – Esailija
@Esailija: Ben de, ne yazık ki pratik değeri tarayıcı uyumluluğu ile sınırlandırılmıştır. – Jon
"XHR.onloaded" ile hareket noktası – Esailija