From d5df280c28652c64a87c62b996636b30f4a2bc70 Mon Sep 17 00:00:00 2001 From: Wojciech Maj Date: Thu, 19 Nov 2020 08:24:18 +0100 Subject: [PATCH] Refactor someStrict to use asyncForEachStrict --- src/some_strict.js | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/some_strict.js b/src/some_strict.js index a44001f..c0f0f9a 100644 --- a/src/some_strict.js +++ b/src/some_strict.js @@ -1,14 +1,16 @@ -export default async function asyncSomeStrict(arr, fn) { - for (let idx = 0; idx < arr.length; idx += 1) { - const cur = arr[idx]; +import asyncForEachStrict from './forEach_strict'; - // eslint-disable-next-line no-await-in-loop - const result = await fn(cur, idx, arr); +export default function asyncSomeStrict(arr, fn) { + return new Promise((resolve) => { + // eslint-disable-next-line no-shadow + asyncForEachStrict(arr, async (cur, idx, arr) => { + const result = await fn(cur, idx, arr); - if (result) { - return true; - } - } - - return false; + if (result) { + resolve(true); + } + }).then(() => { + resolve(false); + }); + }); } -- 2.51.2