Wpis z mikrobloga

@look997: Przerwać to go nie przerwiesz, chyba że biblioteka Ci taki ficzer umożliwia.

A jeśli chodzi o timeout 30 sekundowy to powinno zadziałać coś takiego:

const timeoutPromise = new Promise((resolve,reject) => { setTimeout( () => reject("Promise timed out.") , TIMEOUT_W_MS) })
potem robisz

Promise.race([timeoutPromise, twójPromise]) i w przypadku rejecta strzelasz od nowa