[REFACTOR] should return promise ASAP in resolver