DEV Community

Discussion on: How to use async/await with .map in js

Collapse
 
pankajgulabsharma profile image
pankajgulabsharma

I have one question when I will use Promise.all and for of loop with async-await 🤔

Collapse
 
jordandev profile image
Jordan Jaramillo

A case based on real work might be that you have an array of filenames and you want to get the data from each file asynchronously, in this case you would use Promise.all since the order doesn't matter and one doesn't depend on the other.

But what happens if in order to access the information of the next one you need to have the information of the previous one since they asked you to do so, then you must use for of since it is executed sequentially here.

Collapse
 
rishadomar profile image
Rishad Omar

To expand on your file fetching example. You would use the for...of if you wanted to concatenate a set of files. For example: concatenate f1.txt f2.txt.
The sequence must then be f1.txt followed by f2.txt.
If promise.all was used and f2.txt was a small file while f1.txt was a huge file, then the concatenation would have the incorrect sequence.
PS I haven't tried this but will.

Thread Thread
 
jordandev profile image
Jordan Jaramillo

Exact!