> Le 3 déc. 2015 à 20:04, Andrea Giammarchi <[email protected]> a > écrit : > > I guess `held` would be like an arrow function, "transparent" when it comes > to held invokes (like context or arguments)
? Sorry, but I don't understand how that would help to answer my question. —Claude > >> On Thu, Dec 3, 2015 at 5:23 PM, Claude Pache <[email protected]> wrote: >> How would you detect that the following call to your `fileGetContent` >> function should return a Promise? >> >> ```js >> function oldSchool() { >> return fileGetContent("foo").then(function (c) { >> // .... >> }) >> } >> ``` >> >> —Claude >> >> >> > Le 3 déc. 2015 à 13:15, Andrea Giammarchi <[email protected]> a >> > écrit : >> > >> > Hi there, >> > just writing down some thoughts about being able to understand if a >> > method/function has been executed within a generator/async and is being >> > yielded/awaited. >> > >> > Rationale: API that would like to behave synchronously in some case, >> > returning Promises in other cases. >> > >> > Example: >> > >> > ```js >> > function fileGetContent(fileName) { >> > // random example >> > if (held) { >> > return fetch(fileName).then((r)=>r.text()); >> > } else { >> > var xhr = new XMLHttpRequest; >> > xhr.open('GET', fileName, false); >> > xhr.send(null); >> > return xhr.responseText; >> > } >> > } >> > ``` >> > >> > Above example will virtually return always the same type and it could work >> > inside a generator or an async function as long as it's being held. >> > >> > Does any of this make sense? Is it worth exploring this pattern? >> > >> > Thanks for any sort of thought. >> > >> > Best Regards >> > >> > >> > >> > >> > _______________________________________________ >> > 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

