Company logo
  • Jobs
  • Bootcamp
  • About Us
  • For professionals
    • Home
    • Jobs
    • Courses
    • Questions
    • Teachers
    • Bootcamp
  • For business
    • Home
    • Our process
    • Plans
    • Assessments
    • Payroll
    • Blog
    • Calculator

0

87
Views
Is there a way to prevent getting photos randomly on Firebase Storage?

I have some folders on Firebase Storage. Every folder includes 1_org_zoom.jpg file. I can get those photos, but not in the right array order. I want to get those photos in an order like the photo below, but photos are shown randomly. I tried for loop and forEach, but didn't work. Is there any way to get these photos in an order?

  useEffect(() => {
  /* for(let i = 0; i<products.length; i++){
     const imgRef = ref(storage, imgFolderRef[i]);
     console.log(imgRef);
     getDownloadURL(imgRef)
       .then((url) => {
         console.log(url);
       })
   }
*/
   imgFolderRef.forEach((imgFolder) => {
     console.log(imgFolder);
     getDownloadURL(ref(storage, imgFolder))
       .then((url) => {
           setExArr((oldArr) => [...oldArr, url])
       })
   })
  
  }, [products]);

Array name is imgFolderRef.

enter image description here

7 months ago · Juan Pablo Isaza
1 answers
Answer question

0

The whole point of asynchronous functions is not to block the execution of the script so that several operations can run concurrently.
In your case getDownloadURL and setExArr are asynchronous, as a consequence you have no guaranty concerning the ordering of the images. What you can do is to explicitly sort the array:

setExArr((oldArr) => [...oldArr, url].sort())
7 months ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post job Plans Our process Sales
Legal
Terms and conditions Privacy policy
© 2023 PeakU Inc. All Rights Reserved.