<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">It seems not a lot of people understand what’s a Promise, please read these:</div><div class=""><br class=""></div><div class="">The design of Q: <a href="https://github.com/kriskowal/q/tree/v1/design" class="">https://github.com/kriskowal/q/tree/v1/design</a></div><div class="">The difference between Action and Promise: <a href="https://github.com/winterland1989/Action.js/wiki/Difference-from-Promise" class="">https://github.com/winterland1989/Action.js/wiki/Difference-from-Promise</a></div><div class=""><br class=""></div><div class="">tl;dr, Promise use an internal state, an pending callback queue to save callbacks during pending, and after pending, the resolved value are saved.</div><div class="">Action is just continuation in other FP languages, which is a simple object just have a single field point to the continuation.</div><div class=""><br class=""></div><div class="">Any question are welcomed.</div><div class=""><br class=""></div><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 30, 2015, at 8:36 PM, Thomas <<a href="mailto:thomasjamesfoster@bigpond.com" class="">thomasjamesfoster@bigpond.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div class=""><span class=""></span></div><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div class="">From what I can tell, Action.js seems to wrap callback-based APIs with something called an `Action` which does what a promise does but with a different API. Is there any other intended functionality that I'm missing?</div><div class=""><br class=""></div><div class="">I'm not sure what the point of the Action class is - Promise does pretty much all Action does, plus it's standard and will work with async/await functions. The small size of the Action.js library isn't really that important if you're in a browser that has promises built in.</div><div class=""><br class=""></div><div class="">I'm not really sure how error handling works in Action.js - it's not really that confusing to pass a second callback to .then or to use .catch. Plus, it looks as though the code throws uncaught errors in a synchronous way, even though the code is asynchronous. That's more confusing, not less.</div><div class=""><br class=""></div><div class="">In the end, Action.js seems to provide no real advantage over just using built in promises and wrapping legacy APIs that don't use promises. Plus, using a completely different API and incomparable API to promises is a bit of a pain.</div><div class=""><br class="">Thomas</div><div class=""><br class="">On 30 Sep 2015, at 3:51 PM, 韩冬 <<a href="mailto:handong05@meituan.com" class="">handong05@meituan.com</a>> wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><span style="background-color: rgb(255, 255, 255);" class=""><font color="#222222" class="">ES6 Promise is great,  i just want to share my thoughts on dealing with callback hell issue with a different approach here.</font></span><div class=""><span style="background-color: rgb(255, 255, 255);" class=""><font color="#222222" class="">I’m been try to port ConT monad from haskell to javascript these days, after some work, i believe we can have a much simpler alternative to Promise, read this introduction to my </font></span><span style="color: rgb(34, 34, 34);" class="">approach please:</span><div class=""><font color="#222222" class=""><br class=""></font></div><div class=""><font color="#222222" class=""><a href="http://winterland1989.github.io/Action.js/" class="">http://winterland1989.github.io/Action.js/</a></font></div><div class=""><font color="#222222" class=""><br class=""></font></div><div class=""><font color="#222222" class="">I’m not saying it’s better than </font><span style="background-color: rgb(255, 255, 255);" class=""><font color="#222222" class="">Promise, but it’s much simpler and easier IMO, any peer are welcomed!</font></span></div></div></div></blockquote><blockquote type="cite" class=""><div class=""><span class="">_______________________________________________</span><br class=""><span class="">es-discuss mailing list</span><br class=""><span class=""><a href="mailto:es-discuss@mozilla.org" class="">es-discuss@mozilla.org</a></span><br class=""><span class=""><a href="https://mail.mozilla.org/listinfo/es-discuss" class="">https://mail.mozilla.org/listinfo/es-discuss</a></span><br class=""></div></blockquote></div></div></div></blockquote></div><br class=""></body></html>