Comments (3)
In browsers, an await
operation queues a microtask when the promise resolves to continue execution, while a setTimeout
call queues a task after some time to invoke the callback. Microtasks have a higher priority than tasks. That is, the event loop first runs every microtask before moving on to the next task. You can read more about the event loop on MDN.
Deno tries to follow browser behavior as far as possible. In your code, the microtask enqueued by every await
operation immediately executes another await
operation, so there is always a microtask in the queue, and the next task is never visited.
from deno.
@0f-0b You are amazing! It helped me a lot!
from deno.
Yup, @0f-0b answered this perfectly. This is the way Promises work in JS.
from deno.
Related Issues (20)
- make deno compile handle import.meta correctly HOT 3
- Deno panic while using `Deno.connectTls()` in `(async function(){}())` HOT 1
- `deno install` should install NPM dependencies that are contained in JSR packages you depend on
- Deno loading .node files with incorrect architecture when using NPM oracledb package HOT 2
- No types for node builtin modules in LSP HOT 5
- Respect formatting in deno.lock HOT 1
- Intermittent segfaulting using cbor-x since 1.44.2
- bug(fmt): semicolon insertion causing syntax errors with `using` in a for-of loop
- Support `node:tty` HOT 1
- Bug: Panic when running `moment`'s test suite HOT 2
- Bug: node-tap Error: Not implemented: `v8.DefaultSerializer.prototype.constructor`
- Bug: No coverage data in `nyc`
- Bug: `shx` glob argument not working HOT 1
- Bug: Panic when running `webpack`'s test suite
- Bug: wrong `this` binding in `buble` HOT 1
- Bug: `node:http` invalid url when pathname is absolute url
- Bug: Not implemented: `compileFunction`
- Bug: Panic with `size-limit` package HOT 2
- Deno panic on file with typo (un-commented URL)
- npm workspaces: understand when to create child node_modules directories
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deno.