我想实现一个可以在延迟后运行给定函数的函数。
论据:
这是我的代码
let cb = function(x) {
console.log(x);
};
const doShortly = function(callback, delay, data) {
let result = setTimeout(callback(data), delay);
return result;
};
console.log(doShortly(cb, 500, 'hi'));
运行代码时出现 TypeError [ERR_INVALID_CALLBACK]。我可以知道如何解决这个问题吗?短暂性脑缺血发作。
您可以直接使用
setTimeout
或 setInterval
来实现。一切
延迟参数之后的参数将按照相同的顺序传递给回调函数
let cb = function(x) {
console.log(x);
};
const doShortly = function(callback, delay, data) {
let result = setTimeout(callback, delay, data);
return result;
};
console.log(doShortly(cb, 500, 'hi')); // or: setTimeout(cb, 500, 'hi')