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)
- Inconsistent predicate type after using a function (TS 5.5) HOT 4
- RangeError: Maximum call stack size in getTypeAtLocation in files importing in series (around 170) with template literals
- Expose TypeChecker.getAwaitedType for public api HOT 2
- `"module": "nodenext"` causes dynamic imports to be double default-wrapped - e.g. `{ default: { default: Foo } }`
- Mapped types over subclassed arrays behave strangely
- feature request: expose `tsconfig.json` types in TypeScript files HOT 1
- Incorrect ES5 code emitted for closures in loops when noCheck is enabled HOT 6
- Iterator and AsyncIterator missing Symbol.dispose method in esnext.disposable
- tsc compiler crash on complex project (with tons of tests) HOT 6
- Using @ts-expect-error on class method signature would disable checking all other methods in interface HOT 2
- Sometimes inlay hints disappear when Vue source code contains a special custom component. HOT 2
- When combining the same type, the specific type before combining is still provided HOT 1
- getSymbolAtLocation(node: Identifier) return undefined, in WatchCompilerHost, after change dependency source file
- [Regression] Circular reference error when passing a class expression with non-primitive static properties to a generic function
- [NewErrors] 5.6.0-dev.20240714 vs 5.5.3 HOT 9
- [ServerErrors][JavaScript] 5.6.0-dev.20240714 vs 5.5.3 HOT 13
- [ServerErrors][TypeScript] 5.6.0-dev.20240714 vs 5.5.3 HOT 21
- spread operator infer to wrong type with method override and generic HOT 6
- Intellisense is slow and some things don't work HOT 7
- TS error moving a function to another file HOT 1
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.