This is the opposite in JavaScript (and similar single-threaded languages) where sync code is atomic and normally can't do I/O.
You just can't perform network I/O synchronously. Although a network attached file system allows for both network and file I/O technically, but that's a really pedantic point.
Sure you can, you just shouldn't ever do it because it blocks the UI: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequ...
[1] https://libuv.org [2] https://nodejs.org/en/learn/asynchronous-work/overview-of-bl...