One of the projects that I am working on recently has to use async methods and also call it from another method of the same class. Thought of writing this as it may help others
It's actually pretty simple. You can invoke the async method from another method by using an immediately invoking function.
Let's see it with an example. I have a class Todo, its constructor invokes an async method
class Todo {
constructor() {
this.apiUri = 'https://someapiuri';
(async () => await this.getTodoItems())();
}
async getTodoItems() {
const response = await fetch(this.apiUri);
return await response.json();
}
}
Top comments (1)
That should not work. If you instantiate the class, the constructor will finish execution before your method has returned since your IIFE is still an async function.