私はjavascriptの約束AとCがあります。ここでBは約束を返す関数です。並行してチェーンされたjavascriptの約束
私の現在のコードは、おおよそように見えます
A--->B--->
C-------->
D------>
BはAからの出力を利用しており、DはBからの出力を利用し、C:これは私が流れるようにしてみたい方法です
var runPromises = [];
runPromises.push(A.then(B));
runPromises.push(C);
Promise.all(runPromises).then(values => console.log(values));
AとCが実行されているのが見えますが、AとCがログアウトするまでBは実行されません。実行のための正しいパターンは何ですか? AとBは包括的な約束に入れる必要がありますか?
はJaromandaの正しい答えを説明するために、私の元の質問へ追加するには:私のB機能は、おおよそように定義されました:http.getが戻って豊かにできる前
var B = function(inputA){
return new Promise(function(resolve, reject){
http.get(site, function(done){
inputA['site'] = done;
}
resolve(inputA);
これはinputAを解決しました。 inputA。チェーンの約束に
あなたのコードが正しい - 約束のAとC、および関数Bのおそらく最も重要な定義に関するより多くの情報を提供してください - 関数Bが約束を返さないと思っている –