Consider this code
const response = await fetch(\'\');
const responseJson = await response.json();
responseJson = _.sortBy(responseJson, \"number
How about using partial.js(https://github.com/marpple/partial.js)
It cover both promise and normal pattern by same code.
_p.map([1, 2, 3], async (v) => await promiseFunction());
You can use Promise.all()
to run all the promises in your array.
responseJson = await Promise.all(_.map(responseJson, (channel) => {
return addEnabledProperty(channel);
}));
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));