在返回时将三元运算符转换为if else语句

时间:2016-02-11 23:33:43

标签: javascript

我目前正在使用三元运算符,如下所示:

return $scope.productWithEAN(EAN).then(function(product) {
   return (product) ? product : $scope.createProduct(productID, name);
  });
});

我想现在指向return (product) ? product

的函数

我认为最好用if else语句来完成。我创建了这个,但是我得到了一个意外的返回令牌:

return $scope.productWithEAN(EAN).then(function(product) {
  if (return (product) ? product) {
      console.log("product is here");
      //$scope.checkOrUpdateProduct;
    },else {
      console.log("product not here");
      //$scope.createProduct(productID, name);
    };
  });
});

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

您无法使用 `document.querySelector('#idName' + dynamicVariable 'div')`. 。如果要将其重写为if else语句,可以使用:

if (return ...)

请注意,return $scope.productWithEAN(EAN).then(function(product) { if (product) { console.log("product is here"); return $scope.checkOrUpdateProduct(); } console.log("product not here"); return $scope.createProduct(productID, name); }); 不需要if else,如果if条件满足,则return内的if将永远无法触及其他部分}。因此,returnif只能else,之后不需要curl --request PROPFIND --url "http://carddav.mail.aol.com/home/testuser@aol.com/Contacts/" --header "Content-Type: text/xml" --header "Depth: 1" --data '<A:propfind xmlns:A="DAV:"><A:prop><A:getetag /><D:address-data xmlns:D="urn:ietf:params:xml:ns:carddav"/></A:prop></A:propfind>' --header "Authorization: Bearer fjskdlfjds"