基于 Promise 的操作的重试模式
Promise 提供了一种在 JavaScript 中处理异步操作的便捷方法。但是,有时需要多次重试操作或直到满足特定条件为止。
1.重试直到 Promise 解决
要连续重试操作直到解决,请在重试之间使用延迟和最大重试次数。这可以使用 for 循环和 .catch() 链接来实现:
<code class="js">for (var i = 0; i < maxRetries; i++) { p = p.catch(attempt).catch(rejectDelay); }</code>
2。重试直到条件满足
要重试操作直到结果满足条件,请使用 .then() 链检查条件并使用 .catch() 链来处理失败:
<code class="js">for (var i = 0; i < maxRetries; i++) { p = p.catch(attempt).then(test); }</code>
3.内存高效的动态重试模式
对于无限次重试和指定延迟的动态重试机制,请使用 .catch() 链方法:
<code class="js">var p = Promise.reject(); while (true) { p = p.catch(attempt).catch(rejectDelay); // Break out of the loop if the condition is met. if (conditionMet) break; }</code>
注意:
以上是JavaScript 中基于 Promise 的操作有哪些不同的重试模式?的详细内容。更多信息请关注PHP中文网其他相关文章!