Я пытаюсь promisify the native XHR,Как сделать XHR «обещаемым» и вернуть объект XHR?
теперь вот проблема, когда я использую следующий код:
function request(method, url) {
return new Promise(function (resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.open(method, url);
xhr.onload = resolve;
xhr.onerror = reject;
xhr.send();
});
}
он возвращает обещание вместо объекта XHR,
, так что я не могу использовать что-то вроде xhr.abort()
таким образом:
xhr = request('GET', 'http://google.com').then(function (e)
{
// ...code...
}, function (e)
{
// ...code...
});
// When user press the stop button.
xhr.abort();
есть в любом случае, чтобы сделать его возвращает объект XHR и еще ке ep это обещание?
Редактировать: Это не спрашивает, как обещать объект XHR, но как сделать «многообещающий» объект XHR вернуть объект XHR вместо Promise.
Связанный или дубликат: http://stackoverflow.com/questions/30008114/how-do-i-promisify-native-xhr – k0pernikus
Идея могла бы вдохновить AngularJS API: http: //stackoverflow.com/ вопросы/13928057/как к отмене-ан-HTTP-запрос-в-angularjs – pdem