I am trying to refactor code where I use anti pattern but still don't understand how exactly to refactor something like this: I have a function that work like this now:
export async function submit(data) {
  return new Promise(async function(resolve, reject) {
    ...
    let list = await getList();
    ...
    for (let i = 0; i < list.length; i++) {
       let data = await getData(list[i]);
    }
    ...
    for (let i = 0; i < list.length; i++) {
       let response = await uploadFile(list[i]);
    }
And I call this function like:
let response = await submit(data);
I understand that async function in new Promise is problem but how to fix it?
export async function submit(data) {
  return new Promise(async function(resolve, reject) {
  let files = getFiles();
      let prepareUrlsResponse = await prepareUrls(paths);
      if (prepareUrlsResponse.error === true) {
        resolve( { success: false });
      } else {
        let blobs = [];
        for (let i = 0; i < prepareUrlsResponse.data.length; i++) {
          let fileData = await RNFetchBlob.fs.stat(filePath);
          blobs.push(fileData);
        }
        for (let i = 0; i < blobs.length; i++) {
          let item = blobs[i];
          let response = await uploadFile(
            item.url,
            item.blob
          );
          if (response && response.uploadSuccess === false) {
            resolve( { success: false });
            break;
          }
        }
      }
    api.post(
      endpoint,
      data,
      response => {
        if (response.ok) {
          resolve( { success: true, response: response });
        } else {
          resolve( { success: false });
        }
      }
    );
  });
}
 
    