国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

js fetch請求中斷的幾種方式

這篇具有很好參考價值的文章主要介紹了js fetch請求中斷的幾種方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、通過AbortController

這是官方標(biāo)準(zhǔn)手段,真正意義的阻止請求(不支持ie)

后端接口設(shè)置的兩秒返回數(shù)據(jù)

function myFetch() {
    const controller = new AbortController();
    const signal = controller.signal;

    fetch('http://localhost:3000/aaa/bbb', {
        method: 'post',
        signal,
        headers: {
            'Content-Type': 'application/json'
        }
    }).then(res => res.json()).then(res => {
        console.log(res);
        return res;
    }).catch(e => {
        console.log(e);
    })

    // setTimeout(()=> {
    //     controller.abort();
    // }, 1000)
}

默認(rèn)結(jié)果:
js fetch請求中斷的幾種方式,javascript,前端,開發(fā)語言
解開定時器后:
js fetch請求中斷的幾種方式,javascript,前端,開發(fā)語言

js fetch請求中斷的幾種方式,javascript,前端,開發(fā)語言

2、模擬中斷

通過promise,成功用resolve返回,失敗用reject返回(瀏覽器上,請求依然會發(fā)出,并得到響應(yīng))
第一種方法:

function getData() {
    return new Promise((resolve, reject) => {
        myFetch().then(res => {
            resolve(res);
        });
        setTimeout(() => {
            reject({
                code: '500',
                msg: '請求失敗'
            })
        }, 1000);
    })
}

async function gotData() {
    try {
        const data = await getData();
        console.log(data);
    } catch (error) {
        console.log(error);
    }
}
gotData();

運行結(jié)果:
js fetch請求中斷的幾種方式,javascript,前端,開發(fā)語言
第二種方法:文章來源地址http://www.zghlxwxcb.cn/news/detail-657357.html

function getData() {
    let myReject = null;
    let myPromise = new Promise((resolve, reject) => {
        myReject = reject;
        myFetch().then(res => {
            resolve(res);
        });
    });

    myPromise.abort = () => myReject({
        code: '500',
        msg: '請求失敗'
    });
    return myPromise;
}

async function gotData() {
    const result = getData();
    result.then(res => {
        console.log(res);
    }).catch(e => {
        console.log(e);
    })
    setTimeout(() => {
        result.abort();
    }, 1000);
}
gotData();

到了這里,關(guān)于js fetch請求中斷的幾種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 前端網(wǎng)絡(luò)請求之JavaScript XHR、Fetch、Axios

    AJAX:一種在無需重新加載整個網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術(shù)。在后臺與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,Ajax 可以使網(wǎng)頁實現(xiàn)異步更新。在不重新加載整個網(wǎng)頁的情況下,對網(wǎng)頁的某部分進(jìn)行更新 Fetch:基于 promise 設(shè)計的。Fetch 的代碼結(jié)構(gòu)比起 ajax 簡單多。fetch 不是 aj

    2024年01月23日
    瀏覽(33)
  • JavaScript深淺拷貝的幾種方式

    深淺拷貝主要是針對于引用類型而言的 1. JSON.parse(JSON.strigify(Str)) JSON.stringify() 該方法用于將一個字轉(zhuǎn)換為JSON字符串,該字符串符合JSON格式,并且可以被JSON.parse()方法還原。 對于原始類型的字符串,轉(zhuǎn)換結(jié)果會帶雙引號 如果要轉(zhuǎn)換的對象的屬性是undefined,函數(shù)或xml對象,該

    2024年01月19日
    瀏覽(21)
  • HTTP請求的幾種方式

    HTTP請求的幾種方式

    HTTP(Hypertest Transfer Protocol)是用于傳輸像HTML這樣的超文本文件的應(yīng)用層協(xié)議。它被設(shè)計用于WEB瀏覽器端和WEB服務(wù)端的交互,但也有其它用途。HTTP遵循經(jīng)典的client-server模型,客戶端發(fā)起請求嘗試建立連接,然后等待服務(wù)端的應(yīng)答。HTTP是無狀態(tài)協(xié)議,這意味著服務(wù)端在兩次請求間

    2024年02月08日
    瀏覽(26)
  • 【JavaScript】 發(fā)送 POST 請求并帶有 JSON 請求體的幾種方法

    ?在現(xiàn)代的前端開發(fā)中,與后端進(jìn)行數(shù)據(jù)交互是必不可少的。其中,發(fā)送 POST 請求并帶有 JSON 請求體是一種常見的需求。在本文中,我們將介紹在 JavaScript 中實現(xiàn)這一需求的幾種方法。 ? XMLHttpRequest 是一種傳統(tǒng)的發(fā)送網(wǎng)絡(luò)請求的方式。以下是一個使用 XMLHttpRequest 發(fā)送 POST 請

    2024年03月19日
    瀏覽(27)
  • JavaScript打開新窗口的幾種方式

    window.location.href window.open 指定參數(shù) NewUrl //’ 彈出窗口的地址; ‘newwindow’ //彈出窗口的名字,非必須,可用空’\\\'代替; height=600 //窗口高度; width=900 //窗口寬度; top=0 //窗口距離屏幕上方的象素值; left=0 //窗口距離屏幕左側(cè)的象素值; toolbar=no //是否顯示工具欄,yes為顯示

    2024年02月14日
    瀏覽(14)
  • JavaScript里實現(xiàn)繼承的幾種方式

    JavaScript 中的繼承可以通過以下幾種方式來實現(xiàn): 1、原型鏈繼承 :通過將子類的原型對象指向父類的實例來實現(xiàn)繼承。這種方式的優(yōu)點是實現(xiàn)簡單,缺點是父類的私有屬性和方法子類是不能訪問的。 ? 2、借用構(gòu)造函數(shù)繼承 :通過在子類的構(gòu)造函數(shù)中調(diào)用父類的構(gòu)造函數(shù)來

    2023年04月23日
    瀏覽(20)
  • JavaScript 判斷是否為數(shù)字的幾種方式

    喜歡博主的文章,歡迎關(guān)注、點贊??、收藏??、留言??支持,謝謝大家 js判斷是否為數(shù)字的方式很多: typeof 、 instanceof 、 Number.isNumber parseInt 、 parseFloat isNaN 、 isFinite Number.isNaN 、 Number.isFinite 正則表達(dá)式 終極方案 我們逐一介紹,希望能幫到大家。 typeof 判斷值是不是基

    2023年04月10日
    瀏覽(34)
  • 構(gòu)造http請求的幾種方式(附源碼)

    構(gòu)造http請求的幾種方式(附源碼)

    博主個人社區(qū):開發(fā)與算法學(xué)習(xí)社區(qū) 博主個人主頁:Killing Vibe的博客 歡迎大家加入,一起交流學(xué)習(xí)~~ form (表單) 是 HTML 中的一個常用標(biāo)簽. 可以用于給服務(wù)器發(fā)送 GET 或者 POST 請求. form 的重要參數(shù): action: 構(gòu)造的 HTTP 請求的 URL 是什么. method: 構(gòu)造的 HTTP 請求的 方法 是 GET 還是

    2023年04月09日
    瀏覽(27)
  • 接口測試-關(guān)于postman的幾種參數(shù)請求方式

    接口測試-關(guān)于postman的幾種參數(shù)請求方式

    (1)POST的數(shù)據(jù)類型 對于post請求方式,一般都是要對請求發(fā)送相應(yīng)的一些參數(shù)的,而參數(shù)的注入一般填寫在Body中。 ?如上圖所示,在Body中,有多種類型選擇: none:一般都不使用 form-data: ?對于form-data,是采用鍵值對的方式進(jìn)行存儲,即將該表單的數(shù)據(jù)組織成Key-Value形式,

    2024年02月12日
    瀏覽(37)
  • 使用OkHttp發(fā)送POST請求的幾種方式

    本文將介紹 OkHttp 客戶端的基本用法。 主要介紹 OkHttp 3.x 版本中發(fā)送Post請求的幾種方式。 使用 FormBody.Builder 構(gòu)造基本的 RequestBody , 包含兩個參數(shù):用戶名、密碼,發(fā)送 POST請求。 如果要對請求進(jìn)行身份驗證,可以使用 Credentials.basic 構(gòu)建器向請求頭中添加憑據(jù)。 下面代碼給

    2024年02月13日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包