【发布时间】:2015-01-30 21:56:35
【问题描述】:
我将如何实现从异步回调函数中引用父级的“this”,例如下面的 sn-p?
var imaginaryAjaxCall = function (fn) {
setInterval(fn, 1000);
}
function parent() {
this.foobar = "foo";
imaginaryAjaxCall(function() {
this.foobar = "bar";
});
}
这是一个用于测试的 jsfiddle:http://jsfiddle.net/r0ueon53/11/
编辑: 我匆忙提出这个问题,把它搞砸了。很抱歉渲染了一些与此编辑无关的 cmets。
【问题讨论】:
-
不确定“this”的使用位置,因为它不在代码中,但请了解
bind() -
setInterval( fn, 0 )在运行fn之前等待主脚本完成,即使时间设置为零。 -
@epascarello
this在这里不是问题。它被that = this正确缓存。 -
那你之前的评论就没有意义了。
标签: javascript asynchronous callback this setinterval