再帰関数で標準コールバックの代わりに約束を使用できるかどうかを調べようとしています。私は今それを持って再帰関数で約束を使用する
方法は:
function recursive(data, cb){
(function promiseProvider(data){
return newThenable(data).then(function(val){
if(val.a){
cb(null, val);
}
else {
return promiseProvider(val);
}
});
})(data);
}
これは動作しますが、私は純粋な約束の履行を作ることができる方法を見つけ出すことはできません。
これはおそらく動作しますか?動作しません
function recursive(data){
return newThenable(data).then(function(val){
if(val.a){
return // <<< ???
}
else {
return recursive(val);
}
});
}
LOLの無...配列へ
何か問題が生じ、 '.a'が決して設定されないとどうなりますか? – Walf
_ "return // <<< ???"、LOL no does not does ... "_はい、そのパターンは期待した結果を返すはずです。 'recursive'への最初の呼び出しの後、' recursive'からの戻り値は '。prom()'であり、 '.then()'は新しい 'Promise'オブジェクトを返します。 – guest271314