【发布时间】:2014-09-07 18:53:41
【问题描述】:
我正在努力理解 JavaScript(尤其是 AngularJS)中的承诺。
我在服务中有一个函数,我们称之为fooService,它检查我们是否加载了一些数据。如果有,我只希望它返回,如果没有,我们需要加载数据并返回一个 Promise:
this.update = function(data_loaded) {
if (data_loaded) return; // We've loaded the data, no need to update
var promise = Restangular.all('someBase').customGet('foo/bar').then(function(data) {
// Do something with the data here
}
return promise;
}
我有另一个函数,然后像这样调用fooService 的update 函数:
fooService.update(data_loaded).then(function() {
// Do something here when update is finished
})
我的问题是,如果我们不需要在 update 函数中加载数据,则不会返回承诺,因此在我的其他函数中不会调用 .then()。这里应该采用什么方法 - 基本上,如果我们不需要从 Restangular 调用中获取数据,我想立即从 update() 函数返回已解决的承诺?
【问题讨论】:
标签: javascript angularjs promise restangular angular-promise