如何将原生的XHR转换为Promise?

15 浏览
0 Comments

如何将原生的XHR转换为Promise?

我想在我的前端应用程序中使用(原生)Promise来执行XHR请求,但不想使用庞大的框架进行一切繁琐的操作。

我希望我的xhr返回一个Promise,但这并不起作用(给我:Uncaught TypeError: Promise resolver undefined is not a function)。

function makeXHRRequest (method, url) {
  return new Promise(function(resolve, reject) {
    var xhr = new XMLHttpRequest();
    xhr.open(method, url);
    xhr.onload = function() { resolve(); };
    xhr.onerror = function() { reject(); };
    xhr.send();
  });
}
makeXHRRequest('GET', 'http://example.com')
.then(function (datums) {
  console.log(datums);
});

0