コールバック不要:Javascript に逐次プログラミングを取り戻す StratifiedJS

ロックを基本としたプログラミングの根本的な欠点は,ロックと条件変数がモジュラプログラミングをサポートしていないことです。ここで言う “モジュラプログラミング” とは,小さなプログラムを結合させて大規模なプログラムを構築する,そのプロセスを指しています。ロックはこれを不可能にするのです。

はげどう. というか、ロックはグローバル変数だし.
関連: なぜMicrosoftはVBとC#に非同期シンタックスが必要と信じるのか。