So, first time experimenting with setImmediate. It seems it can't run private class methods. Is that so? If yes, can someone explain to me why?
Doesn't work
Private class method as argument to
setImmediate. ThrowsCallback must be a function. Received undefined
class TestPrivate {
public start(): void {
setImmediate(this.looper);
}
async looper(): Promise<void> {
console.log(`${new Date().toLocaleString()}`);
await sleep(500);
setImmediate(this.looper);
}
}
const testPrivate: TestPrivate = new TestPrivate();
testPrivate.start();
This does work
Static class method as argument to
setImmediate
class TestStatic {
public start(): void {
setImmediate(TestStatic.looper);
}
static async looper(): Promise<void> {
console.log(`${new Date().toLocaleString()}`);
await sleep(500);
setImmediate(TestStatic.looper);
}
}
const testStatic: TestStatic = new TestStatic();
testStatic.start();