You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
734 B

4 years ago
  1. 'use strict';
  2. module.exports = syncForEach;
  3. /**
  4. * A facade that allows {@link Array.forEach} to be called as though it were asynchronous.
  5. *
  6. * @param {array} array - The array to iterate over
  7. * @param {function} iterator - The function to call for each item in the array
  8. * @param {function} done - The function to call when all iterators have completed
  9. */
  10. function syncForEach (array, iterator, done) {
  11. array.forEach(item => {
  12. iterator(item, () => {
  13. // Note: No error-handling here because this is currently only ever called
  14. // by DirectoryReader, which never passes an `error` parameter to the callback.
  15. // Instead, DirectoryReader emits an "error" event if an error occurs.
  16. });
  17. });
  18. done();
  19. }