PhantomJS получает свойство из массива объектов - PullRequest
0 голосов
/ 17 октября 2018

У меня есть массив с scrollHeight и массив с изображениями для рендеринга видео с них.

var delayArray = [
    { startDelayPosition: 920 },
    { startDelayPosition: 1640 },
    { startDelayPosition: 2786 },
    { startDelayPosition: 4500 }
     ];

Затем я использую цикл для итерации массива с изображениями и пытаюсь проверить, входит ли текущий кадр в диапазонв scrollHeight мне нужно несколько раз дублировать этот кадр с этим scrollHeight напрямую, чтобы эмулировать ситуацию, когда пользователь прекращает прокручивать страницу и что-то смотреть (например, несколько секунд).Но когда я пытаюсь использовать элементы этого массива в цикле - я получаю из массива его элементы, как я и ожидал.Например,

[{"startDelayPosition":2013}]

Но если я пытаюсь получить значение из объекта, оно всегда равно неопределенному.

for (let i = 0; i < videoDuration; i += 1) {
let singleValue = page.evaluate((delayArray, scrollStep, i) => {
  return delayArray.filter(v => Math.ceil(v.startDelayPosition / 
      scrollStep) == i);
          }, delayArray, scrollStep, i);
                    console.log(JSON.stringify(singleValue[0].startDelayPosition));

TypeError: undefined is not an object (evaluating 'singleValue[0].startDelayPosition')

Я полагаю, что у PhantomJS есть некоторые ограничения на доступ к структуре, напримерэтот.Или я что-то не так делаю.

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