这段代码中的问题可能是 'uploadImage' 方法没有返回一个 Promise 对象,导致无法正确处理异步操作。建议修改 'uploadImage' 方法,使其返回一个 Promise 对象,例如:

function uploadImage(file: File): Promise<string> {
  return new Promise((resolve, reject) => {
    // 上传逻辑...
    if (上传成功) {
      resolve(上传成功后的链接)
    } else {
      reject(new Error('上传失败'))
    }
  })
}

然后在 'afterRead' 方法中使用 'async/await' 或者 '.then().catch()' 处理异步操作,例如:

const afterRead: UploaderAfterRead = async (file) => {
  // 上传时
  file.status = 'uploading'
  file.message = '上传中...'
  try {
    // 上传成功调用方法
    let res = await uploadImage(file)
    console.log(res)
  } catch (error) {
    //   上传失败
    file.status = 'failed'
    file.message = '上传失败'
  }
}
UploaderAfterRead 中处理异步上传错误的解决方案

原文地址: https://www.cveoy.top/t/topic/oZS2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录