使用 $timeout 和处理承诺每 x 秒调用一次资源?
Call resource every x secons with $timeout and handling promise?
在 Angular 应用程序中,我调用了 API。我想每 5 秒调用一次 运行 因此我应该使用 $timeout,我在想。但是我不确定,至于我应该如何处理这个承诺。
这是我的调用,在实施 $timeout 之前有效:
vm.products = Products.get();
vm.products.$promise.then(function (data) {
// do something
});
然后我尝试实现 $interval,如下所示:
vm.products = $interval(Products.get(), 5000);
vm.products.$promise.then(function (data) {
// do something
});
但是这个returnsvm.products.$promise is undefined
它应该是什么样子?
以下应该有效。
vm.products = $interval(Products.get, 5000);
vm.products.then(function (data) {
// do something
});
不要使用 vm.products
来获得 Product.get()
承诺,如果 5 秒内没有完成,它会破坏旧的待定承诺。
$interval(productPromise, 5000);
function productPromise() {
Products.get().$promise.then(function (data) {
// do something
});
};
在 Angular 应用程序中,我调用了 API。我想每 5 秒调用一次 运行 因此我应该使用 $timeout,我在想。但是我不确定,至于我应该如何处理这个承诺。
这是我的调用,在实施 $timeout 之前有效:
vm.products = Products.get();
vm.products.$promise.then(function (data) {
// do something
});
然后我尝试实现 $interval,如下所示:
vm.products = $interval(Products.get(), 5000);
vm.products.$promise.then(function (data) {
// do something
});
但是这个returnsvm.products.$promise is undefined
它应该是什么样子?
以下应该有效。
vm.products = $interval(Products.get, 5000);
vm.products.then(function (data) {
// do something
});
不要使用 vm.products
来获得 Product.get()
承诺,如果 5 秒内没有完成,它会破坏旧的待定承诺。
$interval(productPromise, 5000);
function productPromise() {
Products.get().$promise.then(function (data) {
// do something
});
};