Size: a a a

JavaScript — русскоговорящее сообщество

2020 November 02

|

|Atlas| in JavaScript — русскоговорящее сообщество
First Last
var p1 = Promise.resolve(3);
var p2 = 1337;
var p3 = new Promise((resolve, reject) => {
 setTimeout(resolve, 100, "foo");
});

Promise.all([p1, p2, p3]).then(values => {
 console.log(values);
});


Похоже на твою идею?
Я прокидываю в аргументы массив из имен репозиториев, потом кладу это в массив и возвращаю его, чтобы отрисовать по элементам
источник

NM

N M in JavaScript — русскоговорящее сообщество
Спасибо вам большое.
источник

FL

First Last in JavaScript — русскоговорящее сообщество
|Atlas|
Я прокидываю в аргументы массив из имен репозиториев, потом кладу это в массив и возвращаю его, чтобы отрисовать по элементам
Ну так и сделай
return Promise.all(names.map(axios.get))
источник

FL

First Last in JavaScript — русскоговорящее сообщество
У тебя будет коллекция response
источник

|

|Atlas| in JavaScript — русскоговорящее сообщество
First Last
Ну так и сделай
return Promise.all(names.map(axios.get))
Если я правильно понял, то так?
источник

FL

First Last in JavaScript — русскоговорящее сообщество
|Atlas|
Если я правильно понял, то так?
const fetchRepoByName = name => axios.get(`${this.url}${name}`) 
Promise.all(repos.map(fetchRepoByName)).then(responses => {
 console.log(responses.map(response => ({name: response.name, url: response.url, homepage: response.homepage}))
})
источник

|

|Atlas| in JavaScript — русскоговорящее сообщество
First Last
const fetchRepoByName = name => axios.get(`${this.url}${name}`) 
Promise.all(repos.map(fetchRepoByName)).then(responses => {
 console.log(responses.map(response => ({name: response.name, url: response.url, homepage: response.homepage}))
})
У меня функция вызывается один раз: Github.getRepos([ "name1", "name2", "name3" ]), поэтому я делаю map и отправляю несколько запросов в апиху
источник

FL

First Last in JavaScript — русскоговорящее сообщество
А что тебя смущает?
источник

|

|Atlas| in JavaScript — русскоговорящее сообщество
First Last
const fetchRepoByName = name => axios.get(`${this.url}${name}`) 
Promise.all(repos.map(fetchRepoByName)).then(responses => {
 console.log(responses.map(response => ({name: response.name, url: response.url, homepage: response.homepage}))
})
Ну у тебя получается, что я отправляю массив с именами)
источник

FL

First Last in JavaScript — русскоговорящее сообщество
|Atlas|
Ну у тебя получается, что я отправляю массив с именами)
Разве?
источник

FL

First Last in JavaScript — русскоговорящее сообщество
С чего ты это взял?
источник

AU

Andrew Ul'din in JavaScript — русскоговорящее сообщество
он просот не прочитал документацию по promise.all
источник

FL

First Last in JavaScript — русскоговорящее сообщество
Он сейчас не об этом
источник

|

|Atlas| in JavaScript — русскоговорящее сообщество
First Last
С чего ты это взял?
Ну сомтри, const fetchRepoByName = name => axios.get(${this.url}${name}) Если я передам в name [ "name1", "name2", "name3" ], то он отправит get запрос с массивом имен)
источник

FL

First Last in JavaScript — русскоговорящее сообщество
|Atlas|
Ну сомтри, const fetchRepoByName = name => axios.get(${this.url}${name}) Если я передам в name [ "name1", "name2", "name3" ], то он отправит get запрос с массивом имен)
repos.map(fetchRepoByName)

Точно?
источник

FL

First Last in JavaScript — русскоговорящее сообщество
Я ведь тебе полностью скинул код, ты пробовал?
источник

FL

First Last in JavaScript — русскоговорящее сообщество
@DcAtlas давай развернем map если тебе трудно это читать
repos.map(fetchRepoByName)


->

repos.map(name => fetchRepoByName(name))
источник

FL

First Last in JavaScript — русскоговорящее сообщество
На выходе у тебя будет Array<Promise<Response, Fail>>
Это ты можешь запихнуть в Promise.all и затем через него работать уже
источник

|

|Atlas| in JavaScript — русскоговорящее сообщество
First Last
Я ведь тебе полностью скинул код, ты пробовал?
Я попробовал в браузере
источник

FL

First Last in JavaScript — русскоговорящее сообщество
Я понял...
Ты в es5 синтаксис умеешь?
источник