日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

jquery --- pip方法

發(fā)布時(shí)間:2023/12/10 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jquery --- pip方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們先來看下面一個(gè)例子:

var getPromise = $.get('/query'); getPromise.done(function(data) {var postPromise = $.post('/search', data); }); // ...無法在此處給postPromise方法附加處理器// 上面先使用get方法讀取url為query的數(shù)據(jù),在完成后,再使用post方法將數(shù)據(jù)發(fā)送給另一個(gè)url(/search); // 問題在于,如果我們想給postPromise附加一個(gè)處理器,,,, // emmm會發(fā)現(xiàn),在get方法獲取數(shù)據(jù)之前,我們是無法在最外層給postPromise添加處理器的..

解決方法:

// 幸運(yùn)的是jQuery1.6版本以上新增了pipe方法,可以讓我們(邏輯上)提前的使用get的數(shù)據(jù),如下 var getPromise = $.gert('/query'); var postPromise = getPromise.pipe(function (data){return $.post('/search', data); });// 注:自處的data就是get方法請求的返回的數(shù)據(jù),現(xiàn)在在邏輯上提前的使用它..

妙用:

// 管道(pipe)級聯(lián)技術(shù).. // 使用pipe可以不費(fèi)吹灰之力地定義異步的分化邏輯.如下例: var step1 = $.post('/step1', data1); var step2 = step1.pipe(function() {return $.post('step2', data2); }); var step3 = step2.pipe(function() {return $.post('/step3', data3); });// 上述代碼,如果step1,執(zhí)行失敗,那么step2 和 step3都將拒絕執(zhí)行, // 如果step2執(zhí)行失敗,step3將拒絕執(zhí)行 // 就像一條管道一樣,將異步操作,從step1到step3依次執(zhí)行// 另外一種寫法(只在乎整體進(jìn)程) var posting = $.post('/step1', data1).pipe(function(){return $.post('/step2', data2);}).pipe(function() {return $.post('/step3', data3);});

參考《JavaScript異步編程》— 設(shè)計(jì)快速響應(yīng)的網(wǎng)絡(luò)應(yīng)用 P59~P62

總結(jié)

以上是生活随笔為你收集整理的jquery --- pip方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。