Erçin Dedeoğlu
Erçin Dedeoğlu

Reputation: 5383

How to check if a specific Javascript Function running and terminating?

How can I check and if exist stop javascript function? I have a counting down JS code bottom;

            function Countdown(options) {
                var timer,
                    instance = this,
                    seconds = options.seconds || 10,
                    perTurn = options.perTurn || 1000,
                    updateStatus = options.onUpdateStatus || function() {},
                    counterEnd = options.onCounterEnd || function() {};

                function decrementCounter() {
                    updateStatus(seconds);
                    if (seconds === 0) {
                        counterEnd();
                        instance.stop();
                    }
                    seconds--;
                }

                this.start = function() {
                    clearInterval(timer);
                    timer = 0;
                    seconds = options.seconds;
                    timer = setInterval(decrementCounter, perTurn);
                };

                this.stop = function() {
                    clearInterval(timer);
                };
            }

            function CountDownToPlay(userID) {
                var myCounter = new Countdown({
                    seconds: 20,
                    perTurn: 2000,
                    onUpdateStatus: function (sec) {
                        console.log(sec);
                    },
                    onCounterEnd: function () {}
                });
                myCounter.start();
            }

It's counting down from more than 20 seconds, but manytime I must terminate the process...

How can I kill current javascript process? And check if it is exist?

DEMO: http://jsfiddle.net/Ercin/gmt04nx9/

Upvotes: 0

Views: 81

Answers (2)

plalx
plalx

Reputation: 43718

The object implements a stop function, why don't you just call it?

myCounter.stop();

To know if it exists should be easy enough since it's your code that's instanciating Countdown instances...

Upvotes: 2

ControlAltDel
ControlAltDel

Reputation: 35011

Typically unless you set up a flag somewhere, it is not possible to check if a javascript function is running somewhere.

However, if you need this information, you can set up a global variable and switch it on/off when your process starts / ends. You also should construct a global variable like "killProc" that the procedure checks on intermittently, and exits if it is true.

For more, check out Java's Thread.interrupt() concept.

Upvotes: 1

Related Questions