首页 > 解决方案 > 在 setTimeout() 中将参数传递给匿名函数

问题描述

我试图弄清楚为什么以下代码不起作用

function testFunction(fn) {
    setTimeout(fn(1), 1000)
}

this.testFunction(id => console.log("id; " + id))

删除setTimeout()并简单地使用fn(1)将控制台记录所需的结果

ID; 1

标签: javascriptnode.jscallbackanonymous-function

解决方案


您的函数接受一个参数,因此它会立即被调用。将算法放在匿名函数中。

setTimeout(() => fn(1), 1000)

推荐阅读