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)
- TSC/Intellisense - Cannot use Static method as argument for Decorated method on same class
- `valid: (value: string) => void` but `{valid(value) {} }` error "Parameter 'value' implicitly has an 'any' type." HOT 1
- Calling never-returning method on a subtype of function does not consider following code as unreachable HOT 3
- Allow `satisfies` in string enum member initializers
- Importing causes side effect of changing module resolution for transitive dependencies for other imports in 5.6 HOT 1
- Object mistyped as Array when Array is spread into Object HOT 7
- Create flag strictVariableInitialization HOT 5
- After the syntax tree is parsed incrementally, the identifiers content is lost. HOT 2
- Property noCheck is absent from type ts.CompilerOptions
- Request: An alternative type syntax that better resembles TS code HOT 2
- `<>`-style type assertion represented by `JsxElement` HOT 1
- Incomplete typecheck when assigning to a mapped object type with remapped keys
- NoInfer does not work in function parameters HOT 10
- Richer type errors for mismatching signatures on overloaded functions HOT 2
- Array.includes() should accept any arg that extends the array's type HOT 3
- Using `import type...` generates `export {};` into the JS file HOT 4
- Type 'null' is not assignable to type 'T extends T ? null : Omit<T, keyof T>' HOT 2
- Inferred type changes from 5.5 to 5.6 HOT 5
- Add HOT 1
- Fixing
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.