可以設置超時版的的fetch


        // 超時版的fetch
        _fetch(fetch, timeout) {
            return Promise.race([
                fetch,
                new Promise(function (resolve, reject) {
                    setTimeout(() => reject(new Error('request timeout')), timeout);
                })
            ]);
        }

        // 使用
        _fetch(fetch('url'), 1000).then((info)=> {
            return info.text();
        }).then((info)=> {
            console.log(info);
        }).catch((err)=> {
            throw new Error(err);    
        });

 

        _fetch(fetch(url, {
            method: "POST",
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            },
            body: `key1=value1&key2=value2&key3=value3...`
        }), 10000).then((info)=> {
            return info.text();
        }).then((info)=> {
            console.log(info);
        }).catch((err)=> {
            throw new Error(err);
        });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM