問題タブ [retry-logic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2361 参照

ruby - Ruby で再試行ステートメントはどのように機能しますか?

Ruby を使い始めたばかりですが、使用しているマニュアルが古くなっているようです。いろいろ調べてみましたが、明確な答えが見つかりませんでした。

マニュアルでは、ループとして機能するメソッド内で「retry」キーワードを使用していましたが、begin/rescue ブロックなしで使用されており、「retry」キーワードを強制的に begin 内に配置すると、動作がかなり異なるように見えます。 /レスキューブロック。

私は多くのことを試みました: リトライ; 終わり;'。-最後のものは、'begin/rescue' ブロックを外部で使用し、メソッドの呼び出しをラップしていました。

マニュアルのロジックに従って、最後のものだけが正常に機能しました。

いくつかの例があります:

マニュアルのコードは次のとおりです。

結果: 012

私は次のことを試しました:

結果: 無限の数

結果:012 (さらに、何も出力しない明らかな無限ループ)

この実存的な疑いからあなたが私を連れて行ってくれることを期待していますが、これが私の結論です.

「retry」キーワードの begin/rescue ブロックの使用が義務化される前は、メソッドの内部にあるにもかかわらずメソッドの呼び出しを繰り返すという、もはや使用できない方法で使用される可能性がありました。

これで、'begin' ステートメントにジャンプするだけです。

しかし、私はこれについて確信が持てず、確認が必要です。もしそうなら、そのような使用を回復するための何らかの形はありますか?

ありがとう。

0 投票する
1 に答える
513 参照

java - フェイルセーフの「実行」方法の仕組み

Failsafe( https://github.com/jhalterman/failsafe ) を再試行ロジック フレームワークとして使用しており、フェイルセーフの「実行」メソッドがどのように機能するかについて詳しく知りたいです。

私が持っているとします:

次に、実行すると、MyCurrentFunction の実行MyCurrentFunctionがブロックされますか? Failsafe.runつまり、OtherFunction1すべての再試行が完了する前に実行されますか?