Console.log возвращает функцию вместо массива - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть событие и обратный вызов, настроенные в одной функции, когда я пытаюсь записать возвращаемое значение, я ожидаю массив, возвращенный из обратного вызова, так как событие инициируется немедленно, но вместо этого я регистрирую саму функцию.
Где я иду не так?

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 голосов
/ 28 февраля 2019

bind создаст новую функцию с this, доступной в функции.Итак, что вы хотите сделать, это запустить функцию, чтобы получить возвращенный массив.

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

или

console.log(findFraudByFromID.call(this, fraudID));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...