diff --git a/js/promises.js b/js/promises.js new file mode 100644 index 0000000..89d8c19 --- /dev/null +++ b/js/promises.js @@ -0,0 +1,30 @@ +export async function waitUntilDownload (page) { + return new Promise((resolve, reject) => { + page._client().on('Page.downloadProgress', (e) => { + // or 'Browser.downloadProgress' + console.clear() + if (e.state === 'completed') { + console.log('Chart downloaded!') + resolve() + } else if (e.state === 'canceled') { + reject(new Error('Download canceled')) + } + }) + }) +} + +export async function waitImageResponses (page, numImgs, responseCount = 0) { + await new Promise((resolve, _reject) => { + page.on('response', async (response) => { + if (response.url().startsWith('https://lastfm.freetls.fastly.net/i/u/')) { + responseCount++ + console.clear() + console.log(`Image ${responseCount} of ${numImgs} downloaded...`) + + if (responseCount === numImgs) { + resolve() + } + } + }) + }) +} diff --git a/js/waitDownload.js b/js/waitDownload.js deleted file mode 100644 index 516f31b..0000000 --- a/js/waitDownload.js +++ /dev/null @@ -1,12 +0,0 @@ -export async function waitUntilDownload (page) { - return new Promise((resolve, reject) => { - page._client().on('Page.downloadProgress', (e) => { - // or 'Browser.downloadProgress' - if (e.state === 'completed') { - resolve() - } else if (e.state === 'canceled') { - reject(new Error('Download canceled')) - } - }) - }) -}