Лучшая практика с использованием оператора if guard с угловыми обещаниями

0

Является ли ниже лучший способ использовать гвардейский знак с угловым обещанием?

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 ответ

2
Лучший ответ

Я думаю, это было бы намного чище

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

или если вы хотите, чтобы это было ясно, это охранник

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

    return someLongFunction()
}
  • 0
    Может даже быть return $q.when(!p || someLongFunction()) .
  • 0
    о да. это определенно короче. но в качестве шаблона охранного предложения было бы неплохо оставить первую проверку отдельной, как во 2-м блоке кода. Ура!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню