(error, timeoutMs)
| 518 | } |
| 519 | |
| 520 | function timeoutPromise(error, timeoutMs) { |
| 521 | let clearCallback = null; |
| 522 | let done = false; |
| 523 | const promise = onResolvedOrRejected(new Promise((resolve, reject) => { |
| 524 | const timeout = setTimeout(() => reject(error), timeoutMs); |
| 525 | clearCallback = () => { |
| 526 | if (done) |
| 527 | return; |
| 528 | clearTimeout(timeout); |
| 529 | resolve(); |
| 530 | }; |
| 531 | }), () => done = true); |
| 532 | promise.clear = clearCallback; |
| 533 | return promise; |
| 534 | } |
| 535 | |
| 536 | // Returns a new promise that will propagate `promise` resolution or rejection |
| 537 | // if that happens within the `timeoutMs` timespan, or rejects with `error` as |
no test coverage detected
searching dependent graphs…