У меня есть этот скрипт lua, который я запускаю, используя Splash
function main(splash, args)
local startTime = splash:evaljs('new Date().getTime()')
splash:wait(0.5)
local timeToWait = splash:evaljs('new Date().getTime()')-startTime
splash:go("https://youtube.com/")
return {
html = splash:html(),
png = splash:png(),
har = splash:har(),
timeToWait,
}
end
Вы, конечно, ожидаете, что splash:wait(0.5)
будет ждать 0,5 секунды или что-то еще, что вы указали.Однако только несколько раз он фактически ожидает указанное время, в противном случае может потребоваться весь путь от 0,5 до 3 секунд для ожидания splash:wait(0.5)
!?Почему это так?
Я попытался выполнить код 30 раз и усреднил timeToWait
, и вот мои результаты:
timeToWait : 1039.1
- честно, почему?
Безлюбой splash:go
вызов, он действительно ожидает указанное время.Разве вы не сможете использовать сервис рендеринга Splash при использовании его функций, таких как wait
?: / Может ли это быть как-то связано с параллелизмом?