### Preflight Checklist

- [X] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
- [X] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
- [X] I have searched the [issue tracker](https://www.github.com/electron/electron/issues) for a feature request that matches the one I want to file, without success.

### Electron Version

13.1.4

### What operating system are you using?

Windows

### Operating System Version

10

### What arch are you using?

x64

### Last Known Working Electron version

not

### Expected Behavior

callbacks added by setImmediate and process.nextTick executed normally.

### Actual Behavior

After I reload my project with ctrl +R,something was wrong.
And I run those code in dev tool's console.
```
setImmediate(()=>{
   console.log("immediate")
})
process.nextTick(()=>{
   console.log("nextTick")
})
```
but console.log didn't show the log,and callback added by setTimeout works at the same time.

I read the source code,found some comment
```
// setImmediate and process.nextTick makes use of uv_check and uv_prepare to
// run the callbacks, however since we only run uv loop on requests, the
// callbacks wouldn't be called until something else activated the uv loop,
// which would delay the callbacks for arbitrary long time. So we should
// initiatively activate the uv loop once setImmediate and process.nextTick is
// called.
```
Is electron use different event loop from nodejs? 
Any idea what's going on?


### Testcase Gist URL

_No response_

### Additional Information

This bug is occasional.
shell/common/node_bindings.cc
#if BUILDFLAG(IS_MAC)
  return MainApplicationBundlePath().Append("Contents").Append("Resources");
#else
  auto* command_line = base::CommandLine::ForCurrentProcess();
  base::FilePath exec_path(command_line->GetProgram());
  base::PathService::Get(base::FILE_EXE, &exec_path);
  return exec_path.DirName().Append(FILE_PATH_LITERAL("resources"));
#endif
}
}  
NodeBindings::NodeBindings(BrowserEnvironment browser_env)
    : browser_env_(browser_env) {
  if (browser_env == BrowserEnvironment::kWorker) {
    uv_loop_init(&worker_loop_);
    uv_loop_ = &worker_loop_;
  } else {
    uv_loop_ = uv_default_loop();
  }
}
NodeBindings::~NodeBindings() {