Add XHR promise