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

Angularjs从没有数据可返回的函数返回虚拟承诺?,angularjs,angular-promise,Angularjs,Angular Promise,所以我有清除/删除一些数据的功能 没有要返回的错误。没有要返回的数据(时间函数reach return不应存在该数据) 需要承诺的代码: SomeService.close().then( function onSuccess() { 如何从close()返回有用的内容,然后才能使用它? //In SomeService function close(){ delete that; delete those; delete etc; return $q.defer().resolv

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

没有要返回的错误。没有要返回的数据(时间函数reach return不应存在该数据)

需要承诺的代码:

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

您的语法有点错误,请尝试:

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

为此,您可以使用$q.when

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

包装可能是值或(第三方)的对象,然后可以 承诺变成$q承诺。这在处理问题时非常有用 对象,该对象可能是承诺,也可能不是承诺,或者如果承诺实现了 来自不可信任的来源


所以决定不退回这个?太疯狂了(我的oneliner现在变成了3-liner。您还可以执行
返回$q.resolve()
。忘记这一点:)
返回$q.resolve()-->
错误:$q.resolve不是函数
$q.resolve()未在我使用的Angular 1.3.x中定义。但它的正确答案并非如此。