【发布时间】:2016-11-15 09:24:05
【问题描述】:
我有一个关于回调和超时的 javascript 问题。
这是我写的示例代码sn-p:
var f1 = function(){
var result;
window.setTimeout(
function(){
console.log("timeout in 100ms");
result = 10;
}.bind(this), 100);
return result;
};
所以,我希望函数修改变量结果。我使用 .bind(this) 来确保它知道它的结果。
不过,我运行 f1() 时的输出是 9,而不是 10,这是我想要的。
有什么线索吗?
【问题讨论】:
-
.bind(this)与变量无关;这只会影响this关键字的值。而且,如果您最终收到9,那么您的 sn-p 似乎缺少一些东西。
标签: javascript callback settimeout