Итак, я пишу функцию для загрузки файла и использую класс Upload
для этого. В этом классе есть метод с именем start
, который в основном загружает файл туда, где он мне нужен, и возвращает объект с информацией о загруженном файле.
Я сделал следующее:
upload = async (param, onFinish) => {
const upload = new Upload(param)
let response = await upload.start()
response = doSomeWork(response)
onFinish(response)
}
И я использую это так:
upload(param, (response) => {console.log(response)} )
Как вы можете видеть, я немного запутался с функцией asyn c в javascript, я вижу, как это выглядит странно, и одна из причин это потому, что я везде читал, что асинхронная c функция всегда должна возвращать обещание.
Но мой вопрос заключается в том, как в этом случае я могу вернуть обещание, если мне сначала нужно выполнить некоторую работу в ответе? Каков наилучший способ реализации этого, так что моя функция asyn c это solid?
Я искал переполнение стека и не нашел четкого ответа на свой вопрос, я не знаю, потому что я неправильно понял ответы или потому что на самом деле их нет, но я надеюсь, что это не дублированный вопрос.