使用带有Angular承诺的guard语句的最佳实践

时间:2015-11-28 07:42:18

标签: angularjs

下面是使用具有角度承诺的if守卫的最佳方式吗?

function doIt(p) {
   var dfd = $q.defer();
   if (!p) {
      // this the best syntax to return the promise?
      dfd.resolve(true);
      return dfd.promise;
   }

   // whole bunch of code stuff with a resolve() and reject()

   // finally
   return dfd.promise;
}

1 个答案:

答案 0 :(得分:2)

我认为这会更清洁

function doIt(p) {
    if (!p)
        return $q.when(true)
    else
        return someLongFunction()
}

或者如果你想说清楚它是一个警卫

function doIt(p) {
    if (!p)
        return $q.when(true)

    return someLongFunction()
}