Re: Coding style for functions called by Task.jsm tasks

2013-10-08 Thread Brandon Benvie
On 10/8/2013 12:34 PM, Gregory Szorc wrote: Also, this JS is invalid because a generator function cannot return a value through "return." For people learning at home, a working implementation is: function add2(a, b) { return Task.spawn(function () { let sum = yield a + b; throw new T

Re: Coding style for functions called by Task.jsm tasks

2013-10-08 Thread Dave Townsend
On Tue, Oct 8, 2013 at 12:34 PM, Gregory Szorc wrote: > On 10/8/13 9:14 PM, Dave Townsend wrote: > >> I was asked to clarify what I meant by my two examples so here are some >> snippets of code that illustrate it. This is forcibly async but you get >> the >> point I hope. If you want to add three

Re: Coding style for functions called by Task.jsm tasks

2013-10-08 Thread Gregory Szorc
On 10/8/13 9:14 PM, Dave Townsend wrote: I was asked to clarify what I meant by my two examples so here are some snippets of code that illustrate it. This is forcibly async but you get the point I hope. If you want to add three numbers you can define: function add3(foo, bar, baz) { return Tas

Re: Coding style for functions called by Task.jsm tasks

2013-10-08 Thread David Rajchenbach-Teller
> I'm going to claim that the latter method of returning a new task promise > is the one we should use in general. It makes the function more easily > usable outside of a task since you're just getting a promise back. It is > also what Task.jsm does internally for generators anyway. I fully agree

Re: Coding style for functions called by Task.jsm tasks

2013-10-08 Thread Dave Townsend
On Tue, Oct 8, 2013 at 12:20 PM, Ted Mielczarek wrote: > On 10/8/2013 3:14 PM, Dave Townsend wrote: > > I was asked to clarify what I meant by my two examples so here are some > > snippets of code that illustrate it. This is forcibly async but you get > the > > point I hope. If you want to add th

Re: Coding style for functions called by Task.jsm tasks

2013-10-08 Thread Ted Mielczarek
On 10/8/2013 3:14 PM, Dave Townsend wrote: > I was asked to clarify what I meant by my two examples so here are some > snippets of code that illustrate it. This is forcibly async but you get the > point I hope. If you want to add three numbers you can define: > > function add3(foo, bar, baz) { >

Re: Coding style for functions called by Task.jsm tasks

2013-10-08 Thread Dave Townsend
I was asked to clarify what I meant by my two examples so here are some snippets of code that illustrate it. This is forcibly async but you get the point I hope. If you want to add three numbers you can define: function add3(foo, bar, baz) { return Task.spawn(() => { let sum = yield add2(foo

Re: Coding style for functions called by Task.jsm tasks

2013-10-08 Thread Marco
On 10/08/2013 12:00 PM, dev-platform-requ...@lists.mozilla.org wrote: Message: 7 Date: Tue, 8 Oct 2013 11:47:52 -0700 From: Dave Townsend To: dev-platform Subject: Coding style for functions called by Task.jsm tasks Message-ID: Content-Type: text/plain; charset=ISO-8859-1 As Task.jsm

Coding style for functions called by Task.jsm tasks

2013-10-08 Thread Dave Townsend
As Task.jsm is used more throughout our code it would be good to try to use similar sorts of patterns to avoid confusion. One difference I've spotted is in how to write asynchronous functions that are called by tasks. One way is to simply write the function as a generator, the other is to write th