function WaitUntilThen(condition, callback) {
return new Promise(resolve => {
const intervalId = setInterval(() => {
if (condition()) {
clearInterval(intervalId);
resolve();
}
}, 100);
}).then(callback);
}