gpt4 book ai didi

javascript - 标准函数调用的带参数的非匿名回调函数

转载 作者:行者123 更新时间:2023-11-30 11:37:06 28 4
gpt4 key购买 nike

这个例子只是为了更好地描述问题的本质。

函数 setTimeout(callback, ti​​meMs) 是一个标准。热向回调函数传递参数?

function handleRequestCB(request, response)
{
console.log("Request Received");
if (request.method === 'GET')
{
console.log(request.url);
}
setTimeout(doResponse(response), 2000);//I know I cant pass arguments!
}



function doResponse(response)
{
response.writeHead(200, {"Content-Type": "text/html"});
response.write(htmlFile);
response.end();
}

如何从 setTimeout 调用这个非匿名函数 doResponse() 并同时传递参数?

最佳答案

如您所说,setTimeout 不会在callback 中接受参数。但是你可以传递一个匿名函数,调用你的函数。因此,您只需执行以下操作:

setTimeout(function() {
doResponse(response);
}, 2000);

是的,这很棘手。请注意,某些浏览器还 accept a 3rd parameter那是一个参数,例如:

setTimeout(doResponse(), 2000, response);

我不会推荐它,因为它在 IE9 和更早版本中不受支持。

关于javascript - 标准函数调用的带参数的非匿名回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44025969/

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