I was wondering if anyone else is having the same issue. I went into my Environments and they are all set on async and when I go to turn off async and save it I go back into the specific environment and its turned on again. Is this a glitch or should I not worry about it.
Also, what are all the pros and cons of using async?
I see the same thing. My guess is that they want to encourage async deployment as the default best practice (A stance with which I happen to agree).
I am also pretty much in agreement with your list of pros and cons.
The point about _satellite.pageBottom() is a little nuanced though. My understanding is that you _could_ write rules that fire when _satellite.pageBottom() is called, but with an asynchronous embed of the header code, you don't have any guarantee that the _satellite object will be in existence by the time that the footer embed is rendered. I can't really think of a reason why you'd call _satellite.pageBottom() outside of its intention as a marker of the bottom of the body being hit, but maybe it will come in handy some day...
It is also my understanding that the Launch library itself is no different if you choose synchronous or asynchronous deployment.
You should not worry about it. Those are deployment instructions, they are not a setting that is connected to how you actually deploy it. And we did recently change it to show async by default (we are encouraging people to make that move), but it's still just instructions.
You have Target on your Cons list, I don't think it belongs there. Launch supports asynchronous deploys of Target. With a little effort outside of Launch you can also do it without any flicker (instructions here).
The Launch Library is the same whether you choose to deploy it sync or async.
Finally, _satellite.pageBottom is essentially just a Direct Call with a special name. And in async deploy scenarios you should not be building rules to fire on Page Bottom since the timing is unknowable and unreliable in async deploys. You can still use it (and if you do, Launch will string things together in their logical order), but the timing will be messed up and it's not recommended.
So what is the best practice event to use for a General / All Pages Rule with Launch? The new Launch training has a Page Load - Page Bottom event - Which Page Load event would you consider best practice to use when selecting to load asynchronous?