diff --git a/src/Metadata.ts b/src/Metadata.ts index 87b78ed..f09edfa 100644 --- a/src/Metadata.ts +++ b/src/Metadata.ts @@ -1,4 +1,5 @@ import { Metadata, Session } from './Types'; +import { forEachAsync } from './Utils'; import { parse } from 'iso8601-duration'; import axios from 'axios'; @@ -29,7 +30,7 @@ export async function getVideoMetadata(videoGuids: string[], session: Session, v let playbackUrl: string; let posterImage: string; - await Promise.all(videoGuids.map(async guid => { + await forEachAsync(videoGuids, async (guid: string) => { let apiUrl = `${session.ApiGatewayUri}videos/${guid}?api-version=${session.ApiGatewayVersion}`; if (verbose) @@ -59,7 +60,7 @@ export async function getVideoMetadata(videoGuids: string[], session: Session, v playbackUrl: playbackUrl, posterImage: posterImage }); - })); - + }); + return metadata; } diff --git a/src/Utils.ts b/src/Utils.ts index 8199377..a8776f6 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -46,6 +46,10 @@ function readFileToArray(path: string) { return fs.readFileSync(path).toString('utf-8').split(/[\r\n]/); } +export async function forEachAsync(array: any, callback: any) { + for (let i=0, l=array.length; i