Spec-Zone.ru › Bluebird

.each

.each(function(any item, int index, int length) iterator) -> Promise

Итерировать по массиву или обещанию массива, содержащему обещания (или смесь обещаний и значений) с заданной iterator функцией с сигнатурой (value, index, length), где value — разрешённое значение соответствующего обещания в входном массиве. Итерация происходит последовательно. Если какое-либо обещание в входном массиве отклоняется, возвращаемое обещание также отклоняется.

Возвращает исходный массив без изменений, этот метод предназначен для побочных эффектов. Если функция-итератор возвращает обещание или thenable, то результат обещания ожидает завершения, прежде чем продолжить следующую итерацию.

Пример, где вы можете использовать .each:

// Source: http://jakearchibald.com/2014/es7-async-functions/
function loadStory() {
  return getJSON('story.json')
    .then(function(story) {
      addHtmlToPage(story.heading);
      return story.chapterURLs.map(getJSON);
    })
    .each(function(chapter) { addHtmlToPage(chapter.html); })
    .then(function() { addTextToPage("All done"); })
    .catch(function(err) { addTextToPage("Argh, broken: " + err.message); })
    .then(function() { document.querySelector('.spinner').style.display = 'none'; });
}

© 2013–2018 Petka Antonov
Licensed under the MIT License.
http://bluebirdjs.com/docs/api/each.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API