Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/damartripamungkas/node-interval-return

โŒ› A lightweight Node.js module that returns a promise-based interval, simplifying the execution of recurring tasks with flexible and reliable asynchronous control. Ideal for developers looking to manage intervals in a clean and efficient way.
https://github.com/damartripamungkas/node-interval-return

interval-return javascript nodejs set-interval set-interval-return setinterval setinterval-return timer timers

Last synced: 28 days ago
JSON representation

โŒ› A lightweight Node.js module that returns a promise-based interval, simplifying the execution of recurring tasks with flexible and reliable asynchronous control. Ideal for developers looking to manage intervals in a clean and efficient way.

Awesome Lists containing this project

README

        


NODE-INTERVAL-RETURN


GitHub top language


Made by


Repository size


GitHub last commit


### ๐Ÿ“– Description :

This package is designed to run `setInterval` with several features. It includes functionalities such as returning a promise, executing a specific task first, stopping the interval, and automatically stopping the interval in the background if a return is triggered.

### ๐Ÿ’ป Step to install :

```
npm install node-interval-return
```

### โœ๏ธ Example :

full example see [here](./test)

```javascript
const { recursiveReturn, interval, intervalReturn } = require(`node-interval-return`)

// function recursiveReturn
await recursiveReturn((repeat, resolve, reject, state) => {
console.log(`test recursiveReturn(), random: ${Math.random()}`)
if (state.counter == 3) {
return resolve(true)
}

repeat(1000)
state.counter += 1
})

// function intervalReturn
await intervalReturn(1000, true, (resolve, reject, state) => {
console.log(`test intervalReturn(), random: ${Math.random()}`)
if (state.counter == 3) {
return resolve(true)
}

state.counter += 1
})

// function interval
const resInterval = interval(1000, true, (stop, state) => {
console.log(`test interval, random: ${Math.random()}`)
if (state.counter == 3) {
return stop()
}

state.counter += 1
})
```

### ๐Ÿงพ Pre-Requisistes :

```
- node.js / bun.js / deno.js
- (optional) typescript
- (optional) commonJS
- (optional) ESM
```

### ๐Ÿ“ License :

Licensed see [here](./LICENSE).