第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

自定義重試功能

自定義重試功能

莫回?zé)o 2023-03-24 15:42:33
嘗試創(chuàng)建一個retry返回函數(shù)的函數(shù),該函數(shù)調(diào)用回調(diào)函數(shù)并從傳遞其參數(shù)的回調(diào)函數(shù)返回值并捕獲錯誤。如果捕獲到錯誤,它應(yīng)該返回帶有 catch 的回調(diào)函數(shù)。如果錯誤數(shù)超過計數(shù),則拋出錯誤。這是到目前為止所做的:const retry = (count, callback) => {    let attempts = 1;    const _retry = async (...args) => callback(...args)        .catch(err => {            if (attempts > count) throw err            attempts++            return _retry(...args)        });    return _retry}調(diào)用時出現(xiàn)問題:var r = Math.random().toString(36).slice(2)var arg = (n) => async (...v) =>    --n < 0 ? v : Promise.reject(Error(`>>> x:${v}`))    await retry(3, arg(2))(r)
查看完整描述

1 回答

?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊

由于 async 關(guān)鍵字,在我看來重試現(xiàn)在會返回一個 Promise。嘗試從重試定義中刪除 async 關(guān)鍵字并使 _retry 函數(shù)異步:


const retry = (count, callback) => {

    let attempts = 1;

    return _retry = async (...args) => callback(...args)

        .catch(err => {

            if (attempts > count) throw err

            attempts++

            return _retry(...args)

        });

}


查看完整回答
反對 回復(fù) 2023-03-24
  • 1 回答
  • 0 關(guān)注
  • 91 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號