Dogpile cache an expensive async function