Lodash: is it possible to use map with async functions?
I found that I didn't have to put the async / await inside of the Promise.all
wrapper.
Using that knowledge, in conjunction with lodash chain (_.chain
) could result in the following simplified version of the accepted answer:
const responseJson = await Promise.all( _
.chain( response.json() )
.sortBy( 'number' )
.map( json => addEnabledProperty( json ) )
.value()
)
To process your response jsons in parallel you may use Promise.all
:
const responseJson = await response.json();
responseJson = _.sortBy(responseJson, "number");
let result = await Promise.all(_.map(responseJson, async (json) =>
await addEnabledProperty(json))
);
Since addEnabledProperty
method is async, the following also should work (per @CRice):
let result = await Promise.all(_.map(responseJson, addEnabledProperty));