Чтобы промисы объединять именно в цепочки, надо писать либо так
promise
.then(...)
.then(...)
либо
promise = promise.then(...);
promise = promise.then(...);
в общем, для последующего then использовать тот промис, который вернулся предыдущим.
А у тебя оба then вызвались из одного и того же промиса, начав таким образом 2 независимые цепочки.
----
Конкретно по примеру - во первых, setInterval не возвращает функцию, да и вообще не монтируется в промисы (можно приспособить setTimeout, но его надо "промисифицировать"), ну и сам промис у тебя не резолвится (наверно, код не дописан)