私がこれらの2つの機能を持っていると仮定します:
function complex() {
setTimeout(function() {
console.log('complex setTimeout');
}, 1000); // assume this value is random
function subFun() {
console.log('complex subFun');
setTimeout(function() {
console.log('complex subFunction setTimeout');
}, 2000); // assume this value is random
}
subFun();
}
function simple() {
console.log('simple');
}
私がそれらを書いていなかったと仮定します-それらはサードパーティです。今、私はそれらを同期的に呼び出して取得したいと思います:
complex subFun
complex setTimeout
complex subFunction setTimeout
simple
問題は、コールバック(サードパーティの関数)を使用できないことです。また、約束やイベントを使用することはできません(同じ理由)。async
関数のアリティのため、step
モジュールは使用できません。後で(およびネストされたすべてのサブ関数を)同期的に呼び出すsimple()
にはどうすればよいですか?complex()
そしてJavaScriptはsuxですか?:)