0

I am learning "ReactJS".
I am using a function to upload multiple files :

const handleFileUpload = (e) => {
    const files = e.target.files;
    if (!files) return false;
    let formD = new FormData();
    for (const file of files) {
      const type = file.type.split("/")[0]; // type of the file
      const filename = file.name; // name of the file
      // file reader to preview file
      let reader = new FileReader();
      reader.onload = () => {
        formD.append("fileList", file, filename);
        setSelectedFileForUpload((prevState) => [
          ...prevState,
          {
            file: reader.result,
            type: type,
            name: filename,
          },
        ]);
      };
      reader.readAsDataURL(file);
    } // for loop ---ENDS---
       // Lines of code given below should only execute after for loop completed.
       const apiData = {
         documents: formD,
         accountId: params.accountID,
       };
       dispatch(actions.fileUpload(apiData));
  };

So I want to run given below code after the for loop completed :

const apiData = {
      documents: formD,
      accountId: params.accountID,
    };
dispatch(actions.fileUpload(apiData));

0 Answers0