一个装饰器函数,它使任意函数的执行速度降低5秒。
function someFunction(a, b) {
console.log(a + b);
}
function slower(func, seconds) {
// decorator code
}
let slowedSomeFunction = slower(someFunction, 5);
slowedSomeFunction()
// will output to the console "You will get you result in 5 seconds"
//...in 5 seconds will display the result of 'someFunction*'
尝试失败,代码中有错误
function someFunction(x) {
alert(x);
}
function slower(func, seconds) {
return function() {
setTimeout(() => func.apply(this, arguments), seconds);
}
}
let slowedSomeFunction = slower(alert, 5);
slowedSomeFunction('You will get you result in 5 seconds');
2条答案
按热度按时间h4cxqtbf1#
试试这个:
zujrkrfu2#
我不太清楚你想做什么,但是你的函数看起来很有效,唯一的问题是setTimeout()参数的单位是毫秒而不是秒,所以如果你想要秒,你需要把它乘以1 000: