From 5a0a511bfc16f9af550fef0df031a57653bb30e9 Mon Sep 17 00:00:00 2001 From: "Begerad, Stefan" Date: Tue, 5 Dec 2023 21:19:23 +0100 Subject: [PATCH] feat(set-interval): initial commit --- set-interval/index-2.js | 26 ++++++++++++++++++++++++++ set-interval/index-3.js | 18 ++++++++++++++++++ set-interval/index.js | 24 ++++++++++++++++++++++++ set-interval/package-lock.json | 13 +++++++++++++ set-interval/package.json | 11 +++++++++++ 5 files changed, 92 insertions(+) create mode 100644 set-interval/index-2.js create mode 100644 set-interval/index-3.js create mode 100644 set-interval/index.js create mode 100644 set-interval/package-lock.json create mode 100644 set-interval/package.json diff --git a/set-interval/index-2.js b/set-interval/index-2.js new file mode 100644 index 0000000..b434b3d --- /dev/null +++ b/set-interval/index-2.js @@ -0,0 +1,26 @@ +console.log('index start...'); + +let count = 0; +const countMax = 2; +const intervalSeconds = 3; + +function delay(ms) { + return new Promise(resolve => setTimeout(resolve, ms)) +} + +async function loop() { + + while (count < countMax) { + console.log('index:setInterval start...'); + const res = await fetch('https://v2.jokeapi.dev/joke/Programming?type=single'); + const json = await res.json(); + console.log('index:setInterval joke: ' + json.joke); + count++; + console.log('index:setInterval done.'); + await delay(intervalSeconds * 1000) + } +}; + +loop(); + +console.log('index done.'); diff --git a/set-interval/index-3.js b/set-interval/index-3.js new file mode 100644 index 0000000..d433ad9 --- /dev/null +++ b/set-interval/index-3.js @@ -0,0 +1,18 @@ +console.log('index start...'); + +const intervalSeconds = 3; + +async function myTimeoutFunction() +{ + console.log('index:setInterval start...'); + const res = await fetch('https://v2.jokeapi.dev/joke/Programming?type=single'); + const json = await res.json(); + console.log('index:setInterval joke: ' + json.joke); + console.log('index:setInterval done.'); + + setTimeout(myTimeoutFunction, intervalSeconds * 1000); +} + +myTimeoutFunction(); + +console.log('index done.'); diff --git a/set-interval/index.js b/set-interval/index.js new file mode 100644 index 0000000..bd9cc3d --- /dev/null +++ b/set-interval/index.js @@ -0,0 +1,24 @@ +console.log('index start...'); + +let count = 0; +const countMax = 2; +const intervalSeconds = 3; + +const interval = setInterval(async () => { + + if (count < countMax) { + + console.log('index:setInterval start...'); + const res = await fetch('https://v2.jokeapi.dev/joke/Programming?type=single'); + const json = await res.json(); + console.log('index:setInterval joke: ' + json.joke); + count++; + console.log('index:setInterval done.'); + + } else { + clearInterval(interval); + } + +}, intervalSeconds * 1000); + +console.log('index done.'); diff --git a/set-interval/package-lock.json b/set-interval/package-lock.json new file mode 100644 index 0000000..fb73da2 --- /dev/null +++ b/set-interval/package-lock.json @@ -0,0 +1,13 @@ +{ + "name": "set-interval", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "set-interval", + "version": "1.0.0", + "license": "GPL-3.0-or-later" + } + } +} diff --git a/set-interval/package.json b/set-interval/package.json new file mode 100644 index 0000000..552f87c --- /dev/null +++ b/set-interval/package.json @@ -0,0 +1,11 @@ +{ + "name": "set-interval", + "version": "1.0.0", + "description": "set interval", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Software Ingenieur Begerad ", + "license": "GPL-3.0-or-later" +}