I'm working on an Electron application and I want to use async await in an anonymous function in my Main like this:
process.on("uncaughtException", async (error: Error) => {
  await this.errorHandler(error);
});
But this yields the Typescript error
Promise returned in function argument where a void return was expected.
I'm using Typescript 3.9.7 and Electron 9.2.0.
Why doesn't it allow me to use async/await?
You can use an asynchronous IIFE inside the callback, like this:
process.on("uncaughtException", (error: Error) => {
  (async () => {
    await this.errorHandler(error);
    // ...
  })();
});
This ensures that the implicit return of the callback remains undefined, rather than being a promise.
Fixed it, I found the answer below from here
 <div
  onClick={
    () => {
      void doSomethingAsync();
    }
  }
  onClick={
    () => {
      void (async () => {
        const x = await doSomethingAsync();
        doSomethingElse(X);
      })();
    }
  }
/>
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With