有没有办法优化这个:
function run1 () {
console.log("Hello");
}
function run2 () {
console.log("World");
}
function timeoutComplete () {
run1();
run2();
}
setTimeout(timeoutComplete, 1000);
像这样,所以我不需要声明timeoutComplete ......?
setTimeout(_.xyz(run1, run2), 1000);
答案 0 :(得分:2)
你总是可以在超时中使用匿名函数并在那里调用它们:
setTimeout(function() {
run1();
run2();
});
答案 1 :(得分:2)
_.delay(_.flow(run1, run2), 1000);
delay()
优于setTimeout()
的主要优点是,如果需要,它可以将参数传递给回调。
答案 2 :(得分:1)
您可以改为使用匿名函数:
setTimeout(function() {
run1();
run2();
}, 1000);
答案 3 :(得分:0)
自己写_.xyz
,除了它不需要是lodash函数:
function run(...fns) {
return function() {
fns.forEach(fn => fn());
};
}
setTimeout(run(run1, run2), 1000);