Comments (13)
@salomvary ooo, I want to make this work.
from es6-promise.
issue opened on parent project: tildeio/rsvp.js#330
I'll have this sorted out by the end of the weekend.
from es6-promise.
@stefanpenner fyi i'm using this to polyfill setTimeout
https://gist.github.com/salomvary/5a295d32e0868ffde42a
(I have no idea how good it is though. There should probably be a better way of doing it.)
from es6-promise.
looks like platform has a hook for next micro task.
from es6-promise.
tildeio/rsvp.js#334 i'll bring that over here after i fix + update the build tooling
from es6-promise.
@salomvary so, I'm dubious of this. Nashorn doesn't have the same run to completion model that essentially all other JavaScript environments have. The threading model allows virtually all of our code to be re-entrant. I don't believe we can reasonable ensure correctness if threads are being used without much more effort.
I am open to suggestions or ideas on this..
from es6-promise.
Even Oracle is warning us on correctness when it comes to threading vs. nashorn. I'm not an expert of the field, can't give better suggestions atm
from es6-promise.
this requires some additional runtime guarantees, we likely need to run all code touching promises in something that ensures run-to-completion.
Maybe someone smarter then I has some ideas, but i believe this is out-of-scope of this project for now.
Will reopen if some reasonable solution exists, but I believe this requires a runtime to wrap the code interacting with promises. Which likely would be another project itself
from es6-promise.
Maybe someone smarter then I has some ideas, but i believe this is out-of-scope of this project for now.
Maybe someone from the Oracle team has recommendations? @szegedi wdyt?
from es6-promise.
I am very open to recommendations :)
from es6-promise.
Thanks, @stefanpenner, for looking into this. Have you by chance seen this talk by @william-tran about server-side JavaScript with Nashorn and Spring? https://youtu.be/kVyVyRdxwxE?t=1h17m37s
They seem to have a working solution for JavaScript promises in Nashorn (unfortunately, this project remains closed-source - awaiting sponsorship).
from es6-promise.
any news on this? said talk pointed towards ListenableFuture, but I did not get it to work...
from es6-promise.
@h0ru5 no, as mentioned above we could provide a serializable/thread-safe runtime around/integrated into nashorn to enable this, but I am unaware of something we can use today.
The introduction of real threads in nashorn, really makes it incompatible with vast amounts of existing JavaScript.
Although the above sounds like fun to implement, I really can't justify the time right now (non of my responsibilities have need for it)
from es6-promise.
Related Issues (20)
- Intercepting `Promise.resolve` fails in `enumerator.js#L82`
- ES6Promise.Promise.prototype.finally does not behave according to spec HOT 3
- Library outdated on cdnjs
- Consider enabling the daily build in TravisCI
- The automatic polyfill fails when both 'window' and 'global' exist.
- Add `unpkg` and `jsdelivr` properties to package.json which point at dist version HOT 1
- Accessing `then` on a `function` or `object` throws within the `getThen` helper HOT 6
- Inconsistent type on `Thenable.then` overload? HOT 1
- Promise.prototype.catch IE8 Expected identifier error HOT 1
- Why are you using setTimeout(1) instead of setTimeout(0)? HOT 4
- .d.ts incompatible with TypeScript lib definitions
- ie9 catch error HOT 2
- Missing polyfill for Promise.allSettled HOT 7
- Error: 'Promise' is not exported HOT 1
- Is it required to include both scripts in html page? HOT 2
- Update CHANGELOG with 4.2.6, 4.2.7, 4.2.8?
- Switch build to Babel 7? HOT 1
- The output sequence is not consistent with native performance HOT 1
- incompatible with ie11 + babel + webpack
- Mau claim produk yang telah saya gunakan untuk konfirmasi hasil yang maksimal di perangkat Android yang telah saya mainkan verryhadisaputra
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 es6-promise.