Przerwanie funkcji promisowej, pochodzącej z biblioteki

Mam funkcję zwracającą promis - ona jest zewnętrzna, pochodzi z biblioteki (znaczy że nie mogę jej modyfikować).
Chcę przerwać tego promise, gdy trwa dłużej niż 30 sekund i wykonać powtórkę.

Jak to zrobić?