fetch设置请求超时处理

getPhone() {
//原fetch 请求
}
// 请求超时限制
        functionTime(time) {
            return new Promise((resolve, reject) => {
                setTimeout(() => {
                    // eslint-disable-next-line prefer-promise-reject-errors
                    reject('请求超时');
                }, time);
            });
        },
        // 请求超时
        getTimeRe(phone, action, xpath, extra, rpInfo) {
            return Promise.race([this.functionTime(2000), getPhone(phone)])
                .then(res => {
                    console.dir('请求成功');
                    this.telBtnDisabled = false;
                    if (res.code) {
                        this.sendLog('b', `${action}_error`, xpath, extra, rpInfo);
                    }
                    else if (res?.data?.phone) {
                        // 小米10 拨打电话时,tel: xx 中不允许有空格,否则拨打出去的电话,第一个空格会被替换成,
                        window.location.href = `tel:${res.data.phone}`;
                        this.sendLog('b', action, xpath, extra, rpInfo);
                    }
                })
                // eslint-disable-next-line dot-notation
                .catch(() => {
                    console.dir('请求失败或超时');
                    this.telBtnDisabled = false;
                });
        },

你可能感兴趣的:(javascript,前端,vue.js)