-/**
- * Copyright (c) 2019, Microsoft Corporation (MIT License).
- */
-
-export function pollUntil(cb: () => boolean, timeout: number, interval: number): Promise<void> {
- return new Promise<void>((resolve, reject) => {
- const intervalId = setInterval(() => {
- if (cb()) {
- clearInterval(intervalId);
- clearTimeout(timeoutId);
- resolve();
- }
- }, interval);
- const timeoutId = setTimeout(() => {
- clearInterval(intervalId);
- if (cb()) {
- resolve();
- } else {
- reject();
- }
- }, timeout);
- });
-}