INNER CODE UNIT · TypeScript
Promise
thebigredgeek/apollo-resolvers · src/helper.ts:20
return new Promise((resolve, reject) => {
let limit = conditions.length - 1;
const attempt = (i) =>
createResolver(conditions[i])(root, args, context, info)
.then(() => {
createResolver(resolver)(root, args, context, info)
.then(res => resolve(res))
.catch(err => reject(err));
})
.catch(err => {
if(i === limit) reject(err);
else attempt(i + 1);
});
attempt(0);
});
}