Другим вариантом является пакет janitor
:
df <- remove_empty_cols(df)
Вы можете использовать столько, сколько хотите. Просто помните, что JavaScript является однопоточным, поэтому ни один из них не может выполняться параллельно.
На странице вы можете запускать столько setTimeouts / setIntervals одновременно, сколько пожелаете, однако для управления каждым из них вам необходимо назначить их переменной.
var interval_1 = setInterval("callFunc1();",2000);
var interval_2 = setInterval("callFunc2();",1000);
clearInterval(interval_1);
Тот же код выше применяется к setTimeout, просто заменяя формулировку.
Как сказал Кевин, JavaScript действительно является однопоточным, поэтому, хотя у вас может быть несколько тиковых таймеров одновременно, только один может срабатывать одновременно - то есть, если у вас есть один, который запускает функцию, которая «останавливает» выполнение, например, с окном оповещения, тогда JS должен быть «возобновлен», прежде чем другой может вызвать срабатывание, я считаю.
Еще один пример приведен ниже. Хотя разметка недействительна, она показывает, как работают таймауты.
<html>
<body>
<script type="text/javascript">
function addThing(){
var newEle = document.createElement("div");
newEle.innerHTML = "Timer1 Tick";
document.body.appendChild(newEle);
}
var t1= setInterval("addThing();",1000);
var t2 = setInterval("alert('moo');",2000);
</script>
</body>
</html>
var interval_1 = setInterval ("callFunc1 ();", 2000);
вызывает eval ()
, что является злом, поэтому это ПЛОХО.
Используйте это вместо var interval_1 = setInterval (callFunc1,2000);
И для вопроса, вы можете использовать столько, сколько хотите, но если у всех одинаковый интервал между двумя действиями , лучше сделайте это так
var interval = setInterval(function() {
// function1
fct1();
// function2
fct2();
},2000);