Я пытаюсь запустить функцию node js Lighthouse последовательно (по одному) с массивом URL-адресов. Моя проблема в том, что всякий раз, когда я перебираю массив, Lighthouse запускает все URL-адреса сразу, что, как мне кажется, проблематично, если у вас очень большой массив URL-адресов.
Код:
for(let url of urls) {
function launchChromeAndRunLighthouse(url, opts, config = null) {
return chromeLauncher.launch({chromeFlags: opts.chromeFlags}).then(chrome => {
opts.port = chrome.port;
return lighthouse(url, opts, config).then(results => {
return chrome.kill().then(() => results.lhr)
});
});
}
}
launchChromeAndRunLighthouse('https://example.com', opts).then(results => {
// Use results!
});
Пожалуйста помоги! И спасибо за ваше время!
for
. Но, несмотря на это, ваш код на самом деле не использует цикл, он просто повторно выбирает'https://example.com'
... - person Patrick Roberts   schedule 10.01.2019forEach()
не собирается исправлять асинхронную итерацию. На самом деле, это затруднит правильную реализацию. - person Patrick Roberts   schedule 10.01.2019