Angular 运行 完成后
Angular run after complete
我是 Angular 的新手,所以这对大多数人来说都很容易。
我有一项具有一项功能的服务:
.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;
}
};
});
我想要的是能够在成功完成后 运行 其他事情。伪代码:
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);
});
我是 Angular 的新手,所以这对大多数人来说都很容易。 我有一项具有一项功能的服务:
.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;
}
};
});
我想要的是能够在成功完成后 运行 其他事情。伪代码:
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);
});