Angularjs从没有数据返回的函数返回虚假承诺?

时间:2015-11-09 08:42:46

标签: angularjs angular-promise

所以我有清除/删除一些数据的功能。

没有错误返回。没有数据要返回(它不应该在时间函数到达时返回)。

需要承诺的代码:

SomeService.close().then(
  function onSuccess() {

如何从close()返回有用的内容,然后才能使用?

//In SomeService
function close(){
 delete that;
 delete those;
 delete etc;
 return $q.defer().resolve().promise;
}

会给我以下错误:

$q.defer(...).resolve(...) is undefined

2 个答案:

答案 0 :(得分:4)

您的语法有点不对,请尝试:

function close(){
  delete that;
  delete those;
  delete etc;
  return $q.resolve();
}

答案 1 :(得分:3)

您可以将$ q.when用于此目的。

function close(){
  delete that;
  delete those;
  delete etc;
  return $q.when();
}

来自docs

  

包装可能是值的对象或(第三方)然后能够   承诺兑换$ q承诺。当你处理一个时,这很有用   可能会或可能不是承诺的对象,或承诺来的对象   来自无法信任的来源。