@wifftees

Как передать аргумент callback в обычную переменную?

Есть класс отвечающий за паралельную отсылку запросов. С помощью метода Promise.all я реализую паралельность, но при этом в любом случае я получаю промис как результат функции. Это увеличивает вложенность кода, следовательно протит его удобочитаемость, к тому же непонятно как передавать результат из коллбэка дальше.
Вопрос такой: можно ли переместить аргумент получаемый каллбеком в обычную переменную и например вернуть ее(в случая если возможно реализовать функции обертку)

class RequestHandler {
    constructor(sellUrls, buyUrls) {
        this.sellUrls = sellUrls
        this.buyUrls = buyUrls
    }

    async makeRequest(url) {
        let response = await fetch(url)
        let text = await response.text()
        return text
    }

    async startResponseGathering() {
        let [...sellPromises] = await Promise.all(
            this.sellUrls.map(url => this.makeRequest(url))
        )
        let [...buyPromises] = await Promise.all(
            this.buyUrls.map(url => this.makeRequest(url))
        )
        return [sellPromises, buyPromises]
    }
}

const rqHandler = new RequestHandler(urlsBuy, urlsSell)
[sellPromise, buyPromise] = rqHandler.startResponseGathering()
sellPromise.then(response => {
    parseData(response)
})
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы