{"ScriptPreparationCode":"function chunkArray(arr, chunkSize) {\r\n const result = [];\r\n\r\n for (let i = 0; i \u003C arr.length; i \u002B= chunkSize) {\r\n const chunk = arr.slice(i, i \u002B chunkSize);\r\n result.push(chunk);\r\n }\r\n\r\n return result;\r\n}","TestCases":[{"Name":"For loop","Code":"function task(data) {\r\n return new Promise((resolve, reject) =\u003E {\r\n const results = data.reduce((acc, curr) =\u003E acc \u002B curr, 0)\r\n resolve(results)\r\n })\r\n}\r\n\r\nconst datasets = [...Array(5_000_000).keys()]\r\nfor (chunk of chunkArray(datasets, 10000)) {\r\n task(chunk).then(\r\n (res) =\u003E {\r\n //\r\n }\r\n )\r\n}","IsDeferred":false},{"Name":"Yield","Code":"function* task(data) {\r\n return new Promise((resolve, reject) =\u003E {\r\n const results = data.reduce((acc, curr) =\u003E acc \u002B curr, 0)\r\n resolve(results)\r\n })\r\n}\r\n\r\nfunction* process(data) {\r\n for (chunk of chunkArray(data, 10000)) {\r\n \tyield task(chunk)\r\n }\r\n}\r\n\r\nconst datasets = [...Array(5_000_000).keys()]\r\nfor (data of process(datasets)) {\r\n const resp = data.next().value\r\n resp.then((res) =\u003E {\r\n //\r\n })\r\n}","IsDeferred":false}]}