簡體   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