Я публикую это здесь, потому что не смог найти хороший пример / документацию по этому вопросу.Официальные документы Supergent говорят только
Этот метод имеет два необязательных аргумента: количество повторных попыток (по умолчанию 3) и обратный вызов.Он вызывает callback (err, res) перед каждой повторной попыткой.Обратный вызов может возвращать true / false, чтобы контролировать, следует ли повторять запрос (но всегда применяется максимальное количество попыток).
У меня есть следующие вопросы относительно этой функции.
- Что происходит, если нет обратного вызова для метода повторения, например:
request.retry();
как он решает, когда повторить попытку? - Решает ли
true/false
, возвращенный функцией обратного вызова, повторить попытку еще раз? - Есть ли способ пропустить повторную попытку, если запрос не удался с конкретным типом ошибки, скажем, 5xx?
- Как можно использовать асинхронную функцию в качестве обратного вызова?
Спасибо