Javascript 在函数内部使用setTimeout

Javascript 在函数内部使用setTimeout,javascript,Javascript,我试图在一个函数中使用setTimeout,在这个函数中我提供回调和延迟。我好像没法让它工作 这是我的密码: const timeout = function(cb, ms, msg) { setTimeout(cb(msg), ms); }; setTimeout的第一个参数应该是一个函数。您正在将调用cb(msg)的结果传递给它。尝试传递cb(msg) 注意:可能更好,因为它避免了创建新函数。我总是忘了你可以这样传递参数。试试以下方法: setTimeout(cb, ms, msg);

我试图在一个函数中使用
setTimeout
,在这个函数中我提供回调和延迟。我好像没法让它工作

这是我的密码:

const timeout = function(cb, ms, msg) {
  setTimeout(cb(msg), ms);
};

setTimeout的第一个参数应该是一个函数。您正在将调用
cb(msg)
的结果传递给它。尝试传递cb(msg)

注意:可能更好,因为它避免了创建新函数。我总是忘了你可以这样传递参数。

试试以下方法:

setTimeout(cb, ms, msg);

通过将
msg
放在末尾,它将自动将
msg
传递到
cb

中,您正在setTimeout内调用回调函数。setTimeout的第一个参数是对函数的引用,当提供的时间过去时,setTimeout将自动调用该函数。另外,要将“msg”作为参数传递给回调函数,需要将其作为setTimeout的第三个参数传递

setTimeout(cb, ms, param1, param2, paramN);