Используйте Array.prototype.map
, чтобы превратить массив value
в массив Promises, и вызовите .then
для Promise.all
этого массива. Вам также следует избегать антипаттерна Promise-as-callback, просто return
Promise от одного .then
, чтобы связать его с другим .then
, не создавая ненужных вложений:
function myFunction () {
fetch("https://jsonplaceholder.typicode.com/albums")
.then(first_response => first_response.json())
.then(arr => Promise.all(arr.map(item =>
fetch("https://jsonplaceholder.typicode.com/users")
.then(second_response => second_response.json())
.then(value => console.log(value))
)))
.then(() => {
console.log("DONE!!");
});
}
myFunction();
Обратите внимание, текущий код, по-видимому, не использует ничего в первом ответе, кроме длины результирующего массива, что довольно странно - если вы хотите использовать элемент, который вы перебираете (например, для создания нового URL-адреса для извлечения) используйте переменную item
в приведенной выше функции отображения.
Вы можете использовать не
, чтобы отфильтровывать находящийся элемент:
$(".playThumb").fadeTo("normal", 1);
$(".playThumb").hover(function() {
$(".playThumb").not(this).fadeTo("fast", 0.3);
}, function() {
$(".playThumb").not(this).fadeTo("fast", 1);
});