我有以下代码:
if (isFlyoutAnimationDisabled) {
flyOut();
} else {
setTimeout(flyOut, 250);
}
似乎应该有比在每个 if
条件下调用 flyOut 更好的模式。对我来说似乎很浪费并且污染了代码。
有没有更好的办法?
最佳答案
使用 if else
if (isFlyoutAnimationDisabled) {
flyOut();
} else {
setTimeout(flyOut, 250);
}
使用 Conditional operator ?:
setTimeout(flyOut, isFlyoutAnimationDisabled ? 0 : 250);
通过使用上面的考虑,setTimeout(fn, 0)
将作为 “nextTick” 执行,给出这个看似意想不到的结果
const fn = () => console.log("A");
setTimeout(fn, 0) // "A"
console.log("B"); // "B"
// Logs:
// >> B
// >> A
关于javascript - 是否有更好的条件 setTimeout 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47336717/