parcel-bundler
Version:
Blazing fast, zero configuration web application bundler
29 lines (23 loc) • 463 B
JavaScript
const deasync = require('deasync');
/**
* Synchronously waits for a promise to return by
* yielding to the node event loop as needed.
*/
function syncPromise(promise) {
let isDone = false;
let res, err;
promise.then(value => {
res = value;
isDone = true;
}, error => {
err = error;
isDone = true;
});
deasync.loopWhile(() => !isDone);
if (err) {
throw err;
}
return res;
}
module.exports = syncPromise;
;