我正在用JS(es6)编写某些东西,并且试图弄清楚如何在回调函数上使用'this'。
class restManager {
constructor() {
this.xhr = new XMLHttpRequest();
... //details about where to connect
this.parent = null;
this.xhr.onreadystatechange = this.JsonResponseCallBack;
}
sendJsonQuery(startTime, endTime, parent) {
this.parent = parent;
json_query =... //ask data from xhr from start to end times
this.xhr.send(json_query);
}
JsonResponseCallBack() {
if (this.xhr.readyState === XMLHttpRequest.DONE && this.xhr.status === 200) {
this.parent.data = this.xhr.responseText;
...//make parent do stuff with data
}
}
};
我应该每次有多个调用方来发送JsonQuery,所以我不必担心最新的调用方会超出父级。
问题是: 通过以上代码,“ this”是否将用作restManager的调用实例?
希望对此主题进行一些澄清,我只看过与ES5相关的帖子,但从未见过带有回调的类中的用途
谢谢!