The async nature of most javascript code hides the try/catch at a low level and then calls an error callback.
Most heavy code in js is async and uses a callback or promise pattern. The other code is simple and does not require try/catch.
If you dig into js libraries (pick your favorite) you will find the try/catch blocks that wrap much of the heavy app code that executes in modern js applications. These libraries then call the error or fail callback that you see in many js code samples.