diff --git a/services/gunDB/contact-api/utils/index.js b/services/gunDB/contact-api/utils/index.js index 6a393f8a..8c749f12 100644 --- a/services/gunDB/contact-api/utils/index.js +++ b/services/gunDB/contact-api/utils/index.js @@ -238,6 +238,18 @@ const currHandshakeAddress = async userPub => { return typeof maybeAddr === 'string' ? maybeAddr : null } +/** + * @template T + * @param {T[]} arr + * @param {(item: T) => void} cb + * @returns {Promise} + */ +const asyncForEach = async (arr, cb) => { + const promises = arr.map(item => cb(item)) + + await Promise.all(promises) +} + /** * @template T * @template U @@ -319,5 +331,6 @@ module.exports = { tryAndWait, mySecret, promisifyGunNode: require('./promisifygun'), - didDisconnect + didDisconnect, + asyncForEach }