I've never said they shouldn't, the only example I gave was `require` which
is a very specific use case. We can  talk about everything else as much as
we like but it would be irrelevant for this post or regarding what I was
thinking about ;-)

On Mon, Dec 7, 2015 at 8:26 AM, Isiah Meadows <[email protected]>
wrote:

> Andrea, it's one thing to either return a Promise or use a callback,
> depending on the existence of the callback, but I get the impression
> the discussion is about difference between fs.readFile and
> fs.readFileSync, and why those should be separate functions.
>
> On Mon, Dec 7, 2015 at 1:48 AM, Andrea Giammarchi
> <[email protected]> wrote:
> > I've asked for opinions and if in 2 days I haven't replied means I got
> it my
> > idea is not welcome which is OK and fair enough.
> >
> > However, I'm curious to know about this "Functions that sometimes return
> > promises and sometimes not are already known to be an antipattern"
> because I
> > have a library that does that in somehow explicit way (if you pass a
> > callback it doesn't return  a promise, it invokes such callback once
> > resolved) and it works without any real-world problem.
> >
> > Mind pointing me at the library that failed returning Promises
> arbitrarily?
> >
> >
> > On Mon, Dec 7, 2015 at 12:48 AM, Bergi <[email protected]> wrote:
> >>
> >> Andrea Giammarchi schrieb:
> >>
> >>> simply adding
> >>> async and await and the only change to do in a well known/used
> >>> *synchronous* API would be to check if the returned value is held and
> >>> behave accordingly?
> >>
> >>
> >> No, making a consumer of an API asynchronous should not be simple.
> Unless
> >> you are only writing pure functions, everything that involves states
> will
> >> very likely break. Concurrency is not trivial, it needs a lot of
> >> consideration.
> >>
> >>> as soon as you go for
> >>> async/await or a generator that function will return a Promise for you.
> >>
> >>
> >> Please never do that. Functions that sometimes return promises and
> >> sometimes not are already known to be an antipattern. Making this
> obscurely
> >> dependent on some fragile syntactic conditions could only make this
> worse.
> >>
> >> If you want to migrate your library to asynchrony, just make it a
> breaking
> >> change. Your consumers will thank you for it.
> >>
> >> Kind regards,
> >>  Bergi
> >>
> >> _______________________________________________
> >> es-discuss mailing list
> >> [email protected]
> >> https://mail.mozilla.org/listinfo/es-discuss
> >
> >
> >
> > _______________________________________________
> > es-discuss mailing list
> > [email protected]
> > https://mail.mozilla.org/listinfo/es-discuss
> >
>
>
>
> --
> Isiah Meadows
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to