p-forever
Version:
Run promise-returning & async functions repeatedly until you end it
16 lines (10 loc) • 295 B
JavaScript
const endSymbol = Symbol('pForever.end');
const pForever = async (function_, previousValue) => {
const newValue = await function_(await previousValue);
if (newValue === endSymbol) {
return;
}
return pForever(function_, newValue);
};
pForever.end = endSymbol;
export default pForever;