Comments (6)
Just as a reference point for any others interested in async/await, experimental async/await support is available in traceur.
See https://github.com/google/traceur-compiler/wiki/LanguageFeatures#async-functions-experimental
It works well in my experience, and having it in TypeScript would make it a joy to use, in node especially. 😄
I put up a simple repo that shows using async/await with traceur and node at https://github.com/jamesmanning/node-traceur-asyncawait
from typescript.
👍 👍 👍
from typescript.
👍
from typescript.
There was a lengthy discussion about this back in 2012 prominent also on the CodePlex site. One of the problems described there (by Mads Torgersen amongst others) was the lack of something to build it on top of. Like the Task abstraction in the .NET Framework.
Promises to me looks awfully a lot like that and what the TypeScript compiler will have to support is the rewiring of the program flow to use promises (specifically there seems to be a spec called Promises/A+ (http://promisesaplus.com/) that is exactly this glue).
I also find that there's a lesson here to be learned from the .NET Framework. For example, the AggregateException. Such a mechanism can be implemented in library alone and TypeScript does not have to offer a companion library for a feature which is largely source work.
What I'm trying to get at is that the way that async/await changes how you write code for the better. I'd rather see a TypeScript implementation of async/await on top of promises today (that will at least run in Chrome) than wait another two or three years for ES7 async to be wide spread.
from typescript.
👍
from typescript.
A more detailed proposal available in #1664.
from typescript.
Related Issues (20)
- TypeScript cannot deduce decomposed array type. HOT 13
- Sync/Async mix return types with Generics not allowed HOT 1
- Inconsistent enforcement of allowed keys on an object when using 'extends' HOT 4
- missing import for `fetchUrl` in quick fix menu HOT 2
- Contravariant inference gets picked when a a better covariant candidate exists
- Generator return type always widened HOT 2
- Add missing test coverage found in #57909 HOT 2
- Mark ~module~ `namespace` as deprecated via LS strikethrough
- Regression in 5.4: Excessive stack depth when comparing recursive type HOT 1
- Intersection type in template literal is not reduced to its bare type HOT 4
- FinalizationRegistry.unregister should return boolean instead of void
- HTML/C-like #include statements HOT 9
- Incorrect automatically type infer HOT 1
- [NewErrors] 5.5.0-dev.20240324 vs 5.4.3 HOT 17
- [ServerErrors][TypeScript] 5.5.0-dev.20240324 HOT 7
- [ServerErrors][JavaScript] 5.5.0-dev.20240324 HOT 5
- Compilation fails with TS6059 under Windows 10 but passes under Windows 11 or Linux HOT 8
- Ts report a wrong comparison when a variable may be changed async. HOT 3
- LSP inserts duplicate `async` keyword HOT 1
- `String.startsWith`, `String.endsWith`, and `String.includes` should have type assertion for when search string is a string subtype HOT 2
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 typescript.