Use Promise.all([p1, p2]) 2 つの Promise 関数を操作するには、どちらの関数も内部で mongoose を使用してデータベースを操作します。
p1 が拒否され、p2 が解決された場合。
私の質問は、p2 が実際にデータベース上で操作を実行したということですが、そうですか? それとも、promise.all は、実際のデータベース操作を実行する前に p1 と p2 の両方が解決されることを保証しますか?
これはマングースのトランザクションの問題のようです。
Promise.all は、指定されたすべての反復可能オブジェクトが完了すると解決され、Promise が失敗した場合は拒否されます。 を拒否する Promise が渡された場合、すべての Promise 値は直ちに失敗し、未解決の他のすべての Promise は破棄されます。空の配列が渡された場合、このメソッドはすぐに完了します。
1) 約束のすべての約束はすべて実行されます
2) このとき、pのステータスは拒否されます
あなたの状況に合わせて、私はたまたまパッケージ https://github.com/zaaack/mon... を書きました。それはあなたのニーズを満たすことができるはずです
Promise.all は、指定されたすべての反復可能オブジェクトが完了すると解決され、Promise が失敗した場合は拒否されます。
リーリーを拒否する Promise が渡された場合、すべての Promise 値は直ちに失敗し、未解決の他のすべての Promise は破棄されます。空の配列が渡された場合、このメソッドはすぐに完了します。
1) 約束のすべての約束はすべて実行されます
2) このとき、pのステータスは拒否されます
あなたの状況に合わせて、私はたまたまパッケージ https://github.com/zaaack/mon... を書きました。それはあなたのニーズを満たすことができるはずです