我有以下代码:
if (isFlyoutAnimationDisabled) {
flyOut();
} else {
setTimeout(flyOut, 250);
}
似乎应该有一个比在每个
if
条件下调用flyOut更好的模式。对我来说似乎很浪费,并且污染了代码。有没有更好的办法?
最佳答案
超级可读
if (isFlyoutAnimationDisabled) {
flyOut();
} else {
setTimeout(flyOut, 250);
}
使用三元运算符
?:
可读性较差setTimeout(flyOut, isFlyoutAnimationDisabled ? 0 : 250);
但是使用上述方法,您应该考虑将
setTimeout(fn, 0)
用作“ nextTick”,从而产生看似意外的结果fn = () => console.log("A");
setTimeout(fn, 0) // "A"
console.log("B"); // "B"
// See console!