スレッドをあきらめないため、提案されたソリューション(編集中)は機能しません(したがって、コールバックを呼び出すことも、変数を設定することもできないため、ループが中断することはありません)。ノードはマルチスレッドではありません-一度にjavascriptを実行するスレッドは1つだけです。実行中のコードから戻る以外に、そのスレッドを生成する方法はありません。
だから、やりたいことはできません。同期コードを舞台裏で非同期に書き直すソリューションのいくつかを使用することもできますが、個人的には、このアプローチは努力する価値がないことがわかりました。コールバックを伴うすべて(時間の経過とともに痛みは治まります:)。