Changing a function from returning a Promise<T> to returning a T is just the same as changing it to return any other type. Your type annotations and refactoring tools should assist you in changing call-sites.
-1 for awaiting non-Promises, from me. On 17 July 2015 at 19:27, Tom Van Cutsem <[email protected]> wrote: > 2015-07-17 19:41 GMT+02:00 Andrea Giammarchi <[email protected]> > : > >> If I might, if there's one thing that has never particularly shone in JS, >> that is consistency. >> >> I see only two possibilities here: 1) it throws with non Promises 2) it >> "Promisify" anything that's not a Promise as if it was a >> `Promise.resolve(1)` ... but since there's too much magic in the second >> point, I'd rather stick with the first one. >> > > I would be highly in favor of (2). Think about a large program where you > refactor a single async function to no longer be async. Then I see no > reason why I should be forced to refactor all of its callers to remove the > await keyword. Going from sync to async requires refactoring because you're > introducing new potential interleaving hazards, but any code that is > already prepared to work with async functions (or promises in general) > should work equally fine on immediately resolved promises. > > regards, > Tom > > > >> >> Just my quick thoughts >> >> Best Regards >> >> On Fri, Jul 17, 2015 at 6:33 PM, Kevin Smith <[email protected]> >> wrote: >> >>> I know the spec for this isn't finalized, but what is the current >>>> direction for the behaviour when await is used on a function that is not >>>> marked async and doesn't return a Promise? Should it run immediately or >>>> wait for the next turn of the event loop? >>>> >>> >>> More generally, the question is: what should await do for non-promises? >>> >>> await 1; >>> >>> Should it force a job to be queued? >>> >>> _______________________________________________ >>> 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 >> >> > > _______________________________________________ > 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

