Returnsa`Promise` that is fulfilled when calling `input` returns a fulfilled promise. If calling `input` returns a rejected promise, `input`iscalledagainuntilthemaximumnumberofretriesisreached.Itthenrejectswiththelastrejectionreason.
Doesnotretryonmost`TypeErrors`,withtheexceptionofnetworkerrors.Thisisdoneonabestcasebasisasdifferentbrowsershavedifferent[messages](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#Checking_that_the_fetch_was_successful) to indicate this. See [whatwg/fetch#526 (comment)](https://github.com/whatwg/fetch/issues/526#issuecomment-554604080)
Callbackinvokedoneachretry.Receivestheerrorthrownby`input` as the first argument with properties `attemptNumber` and `retriesLeft`whichindicatethecurrentattemptnumberandthenumberofattemptsleft,respectively.