如何重用函数中的参数?

How to reuse argument from a function?

我有一个在输入(类型=文件)加载后显示图像的功能。我需要保存图像的来源属性,以便我可以进一步使用它。 这是代码:

 function readURL(input, callback) {
  if (input.files && input.files[0]) {
    let reader = new FileReader();

    reader.onload = function (e) {
      regForm.img.setAttribute('src', e.target.result); // I need to save this somehow, to use it later in a POST Request body.
     }
     reader.readAsDataURL(input.files[0]);
  }
}

你可以像这样使用 promise:

function readURL(input) {
    return new Promise((resolve) => {
        if (input.files && input.files[0]) {
            let reader = new FileReader()
            reader.onload = function (e) {
                regForm.img.setAttribute('src', e.target.result)
                reolve(e.target.result)
            }
            reader.readAsDataURL(input.files[0])
        }
    })
}

任何时候你想要来源const src = await readURL(YOUR FILE)