我在将值传递给匿名函数的参数(作为setTimeout函数的参数传递)时遇到麻烦。
我已经被困了5个多小时了...
请查看下面的代码并给我帮助。
提前致谢!!
if (_que.length > 0){
var nextUrl = _shiftNextUrlFromQue();
//here, the value for nextUrl exists.the value is url string.
console.log(nextUrl);
setTimeout(function(nextUrl) {
//here, the value is undefined.
_analyzeUrl(nextUrl);
}, 10000
);
}
最佳答案
您期望将nextUrl作为setTimeout回调函数的参数。该变量在父函数作用域中定义,并且有您需要的值。
正确的代码应该是:
if (_que.length > 0) {
var nextUrl = _shiftNextUrlFromQue();
//here, the value for nextUrl exists.the value is url string.
console.log(nextUrl);
setTimeout(function() { //HERE!... the timeout callback function has no argument
_analyzeUrl(nextUrl);
}, 10000
);
}