Как повторно использовать аргумент функции? - PullRequest
0 голосов
/ 27 мая 2020

У меня есть функция, которая показывает изображение после загрузки input (type = file). Мне нужно сохранить исходный атрибут изображения, чтобы я мог его использовать в дальнейшем. Это код:

 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]);
  }
}

1 Ответ

2 голосов
/ 27 мая 2020

Вы можете использовать обещание следующим образом:

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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...