perf: cache request promise after sending it