Angularjs 完成后的角度运行
我是一个新的角度,所以这将是最容易的。 我有一个具有一个功能的服务:Angularjs 完成后的角度运行,angularjs,promise,Angularjs,Promise,我是一个新的角度,所以这将是最容易的。 我有一个具有一个功能的服务: .factory('HttpHandler', function () { return { loadData: function (promise) { var self = { data: [], loading: true, promise: promise
.factory('HttpHandler', function () {
return {
loadData: function (promise) {
var self = {
data: [],
loading: true,
promise: promise
};
promise.then(function (data) {
self.data = data;
self.loading = false;
});
promise.finally(function () {
self.loading = false;
});
return self;
}
};
});
我想要的是,能够在成功完成后运行其他东西。Seudo代码:
var result = httpHandler.loadData(httpCall, function (complete) {
console.log('this has completed');
});
有人能解释一下我是如何做到这一点的吗?在不更改您的
httpHandler
的情况下,这是最接近您在代码中描述的行为:
var resultPromise = httpHandler.loadData(httpCall)
.promise
.then(function (complete) {
console.log('this has completed.')
});
但是,您可能希望单独保存httpHandler.loadData(httpCall)
的结果,以使用其中的其他属性:
var result = httpHandler.loadData(httpCall);
result.promise.then(function () {
console.log('this has completed: ', result.loading,
' with data: ', result.data);
});
我知道这很简单:)我不知道你需要这个
self
对象做什么。它似乎没有比承诺更多的东西了?