@RubenVerborgh pointed out in #555 that one roadblock to simply "promisifying" our callback-based async interfaces is that our callback interfaces don't all follow the same conventions.
I thought I'd open the discussion here as to how to deal with this. While I'm not the most familiar with node-solid-server I'll open up with some more general thoughts.
- Promises introduced an async primitive to JS. Constructs like
async/await and async iterators build on top of Promises, so our async APIs will have to be passing around Promises no matter what.
async/await is handy for dealing with promises in a more imperative style. Similar to do notation. I think it's pretty nifty, but I won't push it...
- Are "modern" ES6/7/staging features important enough to folks that they'd want to use
babel, or shall we stick to whatever's supported by the required node version?
@RubenVerborgh pointed out in #555 that one roadblock to simply "promisifying" our callback-based async interfaces is that our callback interfaces don't all follow the same conventions.
I thought I'd open the discussion here as to how to deal with this. While I'm not the most familiar with
node-solid-serverI'll open up with some more general thoughts.async/awaitand async iterators build on top of Promises, so our async APIs will have to be passing around Promises no matter what.async/awaitis handy for dealing with promises in a more imperative style. Similar to do notation. I think it's pretty nifty, but I won't push it...babel, or shall we stick to whatever's supported by the required node version?