Javascript setInterval and `this` solution

前端 未结 9 1942
花落未央
花落未央 2020-11-22 08:44

I need to access this from my setInterval handler

prefs: null,
startup : function()
    {
        // init prefs
        ...
                


        
9条回答
  •  心在旅途
    2020-11-22 09:09

    prefs: null,
    startup : function()
        {
            // init prefs
            ...
            this.retrieve_rate();
            var context = this;
            this.intervalID = setInterval(function()
                                          {
                                              context.retrieve_rate();
                                          }, this.INTERVAL);
        },
    
    retrieve_rate : function()
        {
            var ajax = null;
            ajax = new XMLHttpRequest();
            ajax.open('GET', 'http://xyz.com', true);
            var context = this;
            ajax.onload = function()
            {
                // access prefs using context.
                // e.g. context.prefs
            }
        }
    

提交回复
热议问题