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

Reply via email to