我最近discoverd分块响应。 我同意大部分的时间,我们希望在一个完整的响应工作。 但是,如果我想在分块响应工作。
我将如何使用$ http服务做到这一点?
我最近discoverd分块响应。 我同意大部分的时间,我们希望在一个完整的响应工作。 但是,如果我想在分块响应工作。
我将如何使用$ http服务做到这一点?
我已经找到一种方法做一些看起来正确的我http://www.igvita.com/2011/08/26/server-sent-event-notifications-with-html5/
当然,也有WebSocket的API,但它为我的用途接缝重
另一种可能性将是写另一个HTTP服务,这将使控制HTTP响应
与angularjs承诺$ Q包装了XMLHttpRequest,您可以定义一个函数。
var chunkedRequestWithPromise = function () {
var deferred = $q.defer();
var xhr = new XMLHttpRequest()
xhr.open("GET", 'https://yoururl.com/chunked', true)
xhr.onprogress = function () {
deferred.notify(xhr.responseText);
}
xhr.onreadystatechange = function (oEvent) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
deferred.resolve('success');
} else {
deferred.reject(xhr.statusText);
}
}
};
xhr.send();
return deferred.promise;
};
并使用它:
chunkedRequestWithPromise().then(successFn,errorFn,notifyFn);