Promise based throttling