es6在ajax回调函数上使用“ this”

时间:2018-06-21 08:30:59

标签: javascript ajax ecmascript-6 callback xmlhttprequest

我正在用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相关的帖子,但从未见过带有回调的类中的用途

谢谢!

0 个答案:

没有答案