Console.log返回函数而不是数组

时间:2019-02-28 18:28:56

标签: javascript events

我在一个函数中设置了一个事件和回调,当我尝试记录返回值时,我期望从回调返回的数组是因为该事件被立即触发,但我正在记录该函数本身。 /> 我要去哪里错了?

findFraudByFromID = (fraudID) => {
  this.KYCinstance.getPastEvents('ReportedFraud',{
  filter: {fromID: fraudID},
  fromBlock: 0
  }, (error, events) => {
    var frauds = [];
    for (var i = 0; i < events.length; i++) {
      frauds.push(events[i].returnValues.fraudID); 
    }
    return frauds;
  })
} 

trackFraud = (fraudID) => {
  console.log(findFraudByFromID.bind(this, fraudID))
}

trackFraud()

1 个答案:

答案 0 :(得分:0)

bind将使用函数中的this创建一个新函数。因此,您要执行的操作是运行函数以获取返回的数组。

console.log(findFraudByFromID.bind(this, fraudID)());

console.log(findFraudByFromID.call(this, fraudID));