I am trying to code a gnome-shell extension. It uses Javascript. But one major problem when I want to use setTimeout()
it tells me this in the log: ReferenceError: setTimeout is not defined
, what I am going to reach here is I want to call a function in non-blocking way using setTimeout()
. Maybe one of you has met this issue before or you may have a solution/alternative for me.
1 Answer
Just to capture this in an answer:
const Mainloop = imports.mainloop;
...
Mainloop.timeout_add(1000, () => log('one second later!'));
As seen here.
setTimeout
is not part of ECMAScript so it is possible that a framework does not supply it. Try withwindow.setTimeout()
(the difference: global and local timeout).this._timeout = Mainloop.timeout_add_seconds(10, Lang.bind(this, this.{function}));
works as a timeout to {function}.const Mainloop = imports.mainloop;
at the top. Thanks for the help.