stratumn-cli
Version:
CLI tools for Stratumn
29 lines (25 loc) • 671 B
JavaScript
import get from '../utils/get';
function delay(fn, time = 1000) {
return new Promise((resolve, reject) => {
setTimeout(() => {
fn().then(resolve).catch(reject);
}, time);
});
}
export default function poll(appName, willDestroy) {
return get('/applications/' + appName, true)
.then(app => {
if (app.job.state === 'QUEUED') {
process.stdout.write('.');
return delay(() => poll(appName));
}
process.stdout.write('\n' + app.job.state);
})
.catch(err => {
if (willDestroy && err.message === 'Not found') {
process.stdout.write('\nCOMPLETE');
return;
}
throw err;
});
}