次の構造を持つコードがあります。基本的に私の要件は、「SELECT」f5 のオプションの onChange を実行し、その後に f1 を実行することです。そして f1 の内部では、最初に f2 を実行する必要があり、完了したら f3 を実行する必要があります。f2 の完了は、f4 が実行されて完了していることも確認する必要があることを意味します。フローを維持するという意味です。先に終了する関数が残っていると、プログラム全体が無駄になります。deferred には解決策があると思うので、パイプで使用してみました。しかし、私はこのフローを維持することに精通していないため、期待した結果を得ることができません。できれば助けてください。
<script>
function f1(){
function f2(){
....
f4();
....
}
function f3(){
....
}
}
function f4(){}
function f5(){}
</script>
....
<select onChange=f5().pipe(f1) >
......
</select>