Объявление let идентификатора в nodejs - PullRequest
0 голосов
/ 13 июля 2020

Я все еще пытаюсь узнать о глобальных и локальных идентификаторах на nodejs, но мне все еще не ясно.

Я пытаюсь использовать эти переменные из какого-то запроса, а затем использовать их снова с результаты из базы данных в page.evaluate (). Кто-нибудь может мне помочь? Много способов перепробовал.

let initial_time = null;
let end_time = null;
(async () => {

  const query_time = await query('select time_i, time_f from time_config where config_id = 1', function(err, results) {
    if (err) throw err;
    for (var i in results) {
      var time = results[0];
      initial_time = time['time_i'];
      end_time = time['time_f'];
    }
  })
})
()

const result_time = await page.evaluate(() => {
  return [].concat.apply([], document.querySelectorAll('.ipo-Fixture.ipo-Fixture_Time'))
    .filter(e => {

      const timeString = e.innerText;
      const minute = +timeString.split(':')[0];
      return (minute > initial_time && minute < end_time);
    })
    .map(e => e.innerText);

})

1 Ответ

1 голос
/ 13 июля 2020

Одно из решений - передать переменные в вашу функцию примерно так

(async () => {

const query_time = await query('select time_i, time_f from time_config where config_id = 1', function(err, results){
if(err) throw err;
for (var i in results){
var time = results[0];
var initial_time = time['time_i'];
var end_time = time['time_f'];
}
page.evaluate(initial_time,end_time) 

})  
})
()

const result_time = await page.evaluate(initial_time,end_time,() => {
return [].concat.apply([], document.querySelectorAll('.ipo-Fixture.ipo-Fixture_Time'))
.filter(e => {

const timeString = e.innerText;
const minute = +timeString.split(':')[0];
return (minute > initial_time && minute < end_time);
})
.map(e => e.innerText);

}) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...