如果/否则将Javascript翻译为Ramda cond问题

时间:2017-02-22 10:54:19

标签: if-statement ramda.js

我在if / else逻辑检查后发现了一些问题。我们来举个例子。

基本配置

const result = {
  data: 1,
  state: {
    pass: 'N'
  }
}

对于JS if / else检查,逻辑检查后不应显示日志

function checking() {
  if(result.state.pass !== 'Y') {
    return result;
  }

  console.log("Should not appear the log")
}

checking()

然后,我尝试使用Ramda cond函数

翻译它
function checking() {
  R.cond([
    [
      R.compose(R.not, R.equals('Y'), R.prop('pass'), R.prop('state')),
      (res) => res
    ]
  ])(result)

  console.log("Should not appear the log")
}

checking()

但是,日志出现在Ramda cond示例中。我可以知道

  • 有什么不对吗?

  • 我可以在示例中加强什么?

感谢。

1 个答案:

答案 0 :(得分:-1)

您忘了添加退货声明。

$file = file_get_contents('http://www.affiliatewindow.com/logos/1961/logo.gif');
file_put_contents('C:/myDir/myFile.gif', $file);
const result = {
  data: 1,
  state: {
    pass: 'N'
  }
}

function checking() {
  // Need to add return statement below
  return R.cond([
    [
      R.compose(
        R.not, 
        R.equals('Y'), 
        R.prop('pass'), 
        R.prop('state')),
      (res) => res
    ]
  ])(result)

  console.log("Should not appear the log")
}
  
checking()