1.1.6 • Published 1 year ago

@eightnineight/polling-alarm v1.1.6

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

polling-alarm

Use polling instead of callback for more precise control of the flow process.

Install

npm install @eightnineight/polling-alarm

Usage

alarmOnce

import { alarmOnce } from "@eightnineight/polling-alarm";

let alarm = alarmOnce(500); // 500 ms

let count = 0;
while (count < 10) {
    if (alarm.isStop()) {
        // before you call isAlarm(), Even if alarm has already stopped, isRunningOrRinging will be true
        if (alarm.isRunningOrRinging()) {
            console.log("still running or ringing"); // this will be printed.
        }
    }
    if (alarm.isAlarm()) {
        console.log("alarm once ", count + 1); // print every 500ms

        if (alarm.isStop()) {
            console.log("alarm stop"); // this will be printed.
        }
        if (alarm.isRunningOrRinging()) {
            console.log("still running or ringing"); // this won't be printed.
        }

        alarm.restart();
        ++count;
    }
}

if (alarm.isRunningOrRinging()) {
    console.log("still running or ringing"); // this won't be printed.
}

alarmInterval

import { alarmInterval } from "@eightnineight/polling-alarm";

let alarm = alarmInterval(500); // 500 ms

let count = 0;
while (count < 10) {
    if (alarm.isStop()) {
        console.log("stop"); // this won't be printed.
    }
    if (alarm.isAlarm()) {
        console.log("alarm interval ", count + 1); // print every 500ms

        if (alarm.isStop()) {
            console.log("alarm stop in while"); // this won't be printed.
        }
        if (alarm.isRunningOrRinging()) {
            console.log("still running or ringing"); // this will be printed.
        }

        ++count;
    }
}

if (alarm.isRunningOrRinging()) {
    console.log("still running or ringing"); // this will be printed.
}

// if you don't call stop(), it will keep running.
alarm.stop();

if (alarm.isStop()) {
    console.log("alarm stop"); // this will be printed.
}
if (alarm.isRunningOrRinging()) {
    console.log("still running or ringing"); // this won't be printed.
}

alarmCount

import { alarmCount } from "@eightnineight/polling-alarm";

let alarm = alarmCount(500, 10); // alarm once every 500 ms, for a total of 10 times.

let n = 0;

// this will print 'alarm count' 10 times.
while (1) {
    if (alarm.isAlarm()) {
        console.log("alarm count ", ++n); // print every 500ms
    }
    if (alarm.isStop()) {
        break;
    }
}

if (alarm.isStop()) {
    console.log("alarm stop"); // this will be printed.
}
1.1.6

1 year ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago