繁体   English   中英

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

[英]Turning a ternary operator into if else statement on return

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

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

我现在要指向一个函数,如果return (product) ? product 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);
    };
  });
});

有更好的方法吗?

您不能使用if (return ...) 如果要将其重写为if else语句,则可以使用以下命令:

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条件符合,else部分将永远不会为我们达成return里面if 因此,您可以只在if return ,此后不需要else

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM