gpt4 book ai didi

javascript setTimeout 无法识别函数参数

转载 作者:搜寻专家 更新时间:2023-11-01 04:51:00 26 4
gpt4 key购买 nike

我正在编写一个 Google Chrome 扩展程序。我使用 setTimeout 来减慢对服务器的请求速度。但是 setTimeout 没有按预期工作。它返回一个错误,指出 reqUrl 未定义。

根据对 stackoverflow 上类似问题的回答,这似乎是一个超出范围的问题,我不明白如何解决它,除了使 reqUrl 成为一个全局变量,这似乎不是一个很好的解决方案。如果我删除括号,它就会失控,根本没有时间延迟。

如何让它发挥作用?

这是代码。我已经包含了 slowdow 函数,尽管我认为它不是问题的核心。

openDetailPg(profileLink[currentLink]); 
function openDetailPg(reqUrl)
{
console.log('openDetailPg at '+reqUrl);
setTimeout("createDetailWindow(reqUrl)",slowDown());
++sendCount;
timeOfLastRequest=new Date().getTime();
};
function createDetailWindow(detailUrl)
{
console.log('createDetailWindow');
chrome.tabs.create({windowId: mainWindowId, url: detailUrl},
function (tab)
{
console.log(' OpenDetailPg Created Tab '+tab.id+' with slow down of '+slowDown().toFixed(0));
chrome.tabs.executeScript(tab.id, {file: 'profile.js'});
})
};
function slowDown()
{
//console.log(' Slowdown: last interval '+ (new Date().getTime()-timeOfLastRequest)+' milisec.')
if (new Date().getTime()-timeOfLastRequest>minDelay)
{
console.log(' Previous Delay Greater Than Minimum Delay, Resetting Speed Count');
sendCount=1;
timeOfFirstRequest=new Date().getTime(); //else forget about it, reset time of first request
}
elapsedTime=new Date().getTime()-timeOfFirstRequest;
avgSpeed = elapsedTime/sendCount;
//console.log(" Started @ "+timeOfFirstRequest+" Current time "+new Date().getTime()+" Avg time fr 1st HTTPRequest "+avgSpeed.toFixed(0)+' milisec over '+sendCount+' Req');
if (avgSpeed<minDelay)
{
//console.log(" Delaying request by "+((minDelay-avgSpeed).toFixed(0))+" milisecs");
return minDelay-avgSpeed;
}
else
{
//console.log(' No Delay on Request');
return 1;
}
};

最佳答案

setTimeout({functionname}, {timeout}, {param1}, {param2}...)

例子

setTimeout(callMe, 1000, 'say','hello');
function callMe(p1, p2){
alert(p1+" "+p2); //alerts say hello
}

关于javascript setTimeout 无法识别函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7432471/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com