(promise, ms, errorMessage)
| 146 | |
| 147 | // helper function that rejects with errorMessage if promise isn't settled within ms |
| 148 | async function resolvedOrTimeout(promise, ms, errorMessage) { |
| 149 | let timer |
| 150 | return Promise.race([ |
| 151 | promise, |
| 152 | new Promise((_, reject) => { |
| 153 | timer = setTimeout(() => reject(errorMessage), ms) |
| 154 | }), |
| 155 | ]).finally(() => { |
| 156 | clearTimeout(timer) |
| 157 | timer = null |
| 158 | }) |
| 159 | } |
no outgoing calls
no test coverage detected