Есть класс отвечающий за паралельную отсылку запросов. С помощью метода 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)
})