но я хочу убедиться, что он не запускается одновременно
Не может. JavaScript запускает один поток внутри области (свободно, страница / вкладка). Этот поток делает только одну вещь за один раз, от начала до конца. Таким образом, даже если эти таймеры срабатывают в ту же микросекунду, задания для выполнения этих обратных вызовов будут go в одной и той же очереди, и они будут обрабатываться потоком по одному за раз.
Если работа выполняется При выполнении обратного вызова таймера запускается асинхронный процесс, второй вызов таймера может появиться после того, как обратный вызов таймера его запустил (и вернул), но во время выполнения асинхронной работы. Если вы хотите предотвратить это, вам придется выполнить некоторую ручную синхронизацию между ними.
Есть ли способ проверить, когда начнется первый интервал бу, и убедиться, что Бла, случается, не в одно и то же время, но, скажем, через 2500 мс после бу?
Я бы, наверное, сделал это, используя один таймер:
let flag = true;
setInterval(() => {
if (flag) {
console.log("boo");
} else {
console.log("bla");
}
flag = !flag;
}, 2500);