I want to create multiple promises, and I really don't care about race in this code, as long as all callbacks are done.
So, I have a variable, which holds all data, let's say:
export interface IData {
    data1: string[],
    data2: string[],
    data3: string[]
}
Those 3 are unrelated, and I have a data fetcher.. say:
function getData(id: string): Promise<IData> {
    return new Promise((resolve, reject) => {
        var data = new TableFetcher();
        data.get(_id)
        .then((result : IData) => {
            resolve()
        })
    })
}
Now, I want to make something like:
function x(): Promise<IData> {
    return new Promise((resolve,reject) => {
        var data: IData = {
            data1: getData('100'),
            data2: getData('200'),
            data3: getData('300')
        }
        resolve(data)
    })
}
when all getData promises has finished.
It doesn't need to chain but all can be run separately, but I need to return an array containing all asynchronous data after they are done.
How can I do that?
 
     
    