我需要this
从setInterval
处理程序访问
prefs: null,
startup : function()
{
// init prefs
...
this.retrieve_rate();
this.intervalID = setInterval(this.retrieve_rate, this.INTERVAL);
},
retrieve_rate : function()
{
var ajax = null;
ajax = new XMLHttpRequest();
ajax.open('GET', 'http://xyz.com', true);
ajax.onload = function()
{
// access prefs here
}
}
如何在中访问this.prefs ajax.onload
?
setInterval行应如下所示:
this.intervalID = setInterval(
(function(self) { //Self-executing func which takes 'this' as self
return function() { //Return a function in the context of 'self'
self.retrieve_rate(); //Thing you wanted to run as non-window 'this'
}
})(this),
this.INTERVAL //normal interval, 'this' scope not impacted here.
);
编辑 :相同的原则适用于“
onload
”。在这种情况下,“外部”代码几乎不做任何事情,它只是建立一个请求,然后发送它。在这种情况下,不需要上面代码中的额外功能。您的retrieve_rate应该看起来像这样:-
retrieve_rate : function()
{
var self = this;
var ajax = new XMLHttpRequest();
ajax.open('GET', 'http://xyz.com', true);
ajax.onreadystatechanged= function()
{
if (ajax.readyState == 4 && ajax.status == 200)
{
// prefs available as self.prefs
}
}
ajax.send(null);
}
本文向大家介绍mysql 报错This function has none of DETERMINISTIC解决方案,包括了mysql 报错This function has none of DETERMINISTIC解决方案的使用技巧和注意事项,需要的朋友参考一下 本文章向朋友们介绍开启bin-log日志mysql报错:This function has none of DETERMINISTI
本文向大家介绍React中this丢失的四种解决方法,包括了React中this丢失的四种解决方法的使用技巧和注意事项,需要的朋友参考一下 发现问题 我们在给一个dom元素绑定方法的时候,例如: React组件中不能获取refs的值,页面报错提示:Uncaught TypeError: Cannot read property 'refs' of null or undefind 小栗子 Reac
本文向大家介绍apache You don't have permission to access /test.php on this server解决方法,包括了apache You don't have permission to access /test.php on this server解决方法的使用技巧和注意事项,需要的朋友参考一下 键字: Apache 403 Forbidde
本文向大家介绍JS this关键字在ajax中使用出现问题解决方案,包括了JS this关键字在ajax中使用出现问题解决方案的使用技巧和注意事项,需要的朋友参考一下 背景: 在一次web网站开发维护中,使用手机验证码进行登录。再点击获取手机验证码时,验证码按钮并没有置灰,同时也没有出现倒数读秒的效果。 设置按钮倒数60秒前端代码: 在向后端请求获取短信验证码成功之后,调用sendCode()
本文向大家介绍Eclipse 出现A configuration with this name already exists问题解决方法,包括了Eclipse 出现A configuration with this name already exists问题解决方法的使用技巧和注意事项,需要的朋友参考一下 Eclipse 出现A configuration with this name alrea
提前感谢!