久草视频2-久草视-久草社区视频-久草色在线-久草色视频-久草软件

jQuery 中的 Deferred 和 Promises (2)

我是創(chuàng)始人李巖:很抱歉!給自己產(chǎn)品做個(gè)廣告,點(diǎn)擊進(jìn)來看看。  

看前首先了解:Promises/A規(guī)范,具體可以看這里,http://www.css88.com/archives/4743

由于jQuery版本問題對(duì)Deferred對(duì)象的實(shí)現(xiàn)有所不同,具體請(qǐng)參照jQuery api;

jQuery.Deferred()基于Promises/A規(guī)范實(shí)現(xiàn),因?yàn)閖Query本身的設(shè)計(jì)風(fēng)格,jQuery.Deferred()并沒有完全遵循Promises/A規(guī)范。

jQuery在1.5版本中首次引入了Deferred。你可以通過jQuery.Deferred() 在未來某個(gè)時(shí)候 得到 ‘延時(shí)’返回值。 在此之前是無法單獨(dú)使用的,Deferred作為對(duì)ajax模塊較大重寫的一部分添加進(jìn)來。1.5和1.6版本包含deferred功能,可以使$.ajax() 接收調(diào)用完成及請(qǐng)求出錯(cuò)的回調(diào),但卻存在嚴(yán)重的耦合。新版本的jQuery提供了一些增強(qiáng)的方式來管理回調(diào),提供更加靈活的方式建立回調(diào),而不用關(guān)心原始的回調(diào)是否已經(jīng)觸發(fā)。 jQuery的Deferred對(duì)象支持多個(gè)回調(diào)綁定多個(gè)任務(wù),任務(wù)本身既可以是同步也可以是異步的。

舉個(gè)簡單地例子,原來我們寫異步的ajax請(qǐng)求是這么寫:

從 jQuery 1.5 開始,$.ajax()返回的jqXHR對(duì)象 實(shí)現(xiàn)了 Promise 接口, 使它擁有了 Promise 的所有屬性,方法和行為。(見Deferred object獲取更多信息)。為了讓回調(diào)函數(shù)的名字統(tǒng)一,便于在$.ajax()中使用。jqXHR也提供.error() .success()和.complete()方法。所以我們可以這樣寫:

或者這樣寫:

jQuery.Deferred對(duì)象:

了解jQuery.Deferred對(duì)象可以看下面這個(gè)表格。

jQuery.Deferred()

創(chuàng)建一個(gè)新的Deferred對(duì)象的構(gòu)造函數(shù),可以帶一個(gè)可選的函數(shù)參數(shù),它會(huì)在構(gòu)造完成后被調(diào)用。

jQuery.when()

通過該方式來執(zhí)行基于一個(gè)或多個(gè)表示異步任務(wù)的對(duì)象上的回調(diào)函數(shù)

jQuery.ajax() 執(zhí)行異步Ajax請(qǐng)求,返回實(shí)現(xiàn)了promise接口的jqXHR對(duì)象
deferred.then( doneFilter [, failFilter ] [, progressFilter ] ) 當(dāng)Deferred(延遲)對(duì)象解決,拒絕或仍在進(jìn)行中時(shí),調(diào)用添加處理程序。
deferred.done() 當(dāng)延遲成功時(shí)調(diào)用一個(gè)函數(shù)或者數(shù)組函數(shù).
deferred.fail() 當(dāng)延遲失敗時(shí)調(diào)用一個(gè)函數(shù)或者數(shù)組函數(shù).。
deferred.always() 當(dāng)Deferred(延遲)對(duì)象解決或拒絕時(shí),調(diào)用添加處理程序。
deferred.resolve(ARG1,ARG2,…) 調(diào)用Deferred對(duì)象注冊(cè)的‘done’回調(diào)函數(shù)并傳遞參數(shù)
deferred.resolveWith(context,args) 調(diào)用Deferred對(duì)象注冊(cè)的‘done’回調(diào)函數(shù)并傳遞參數(shù)和設(shè)置回調(diào)上下文
deferred.isResolved 確定一個(gè)Deferred對(duì)象是否已經(jīng)解決。
deferred.reject(arg1,arg2,…) 調(diào)用Deferred對(duì)象注冊(cè)的‘fail’回調(diào)函數(shù)并傳遞參數(shù)
deferred.rejectWith(context,args) 調(diào)用Deferred對(duì)象注冊(cè)的‘fail’回調(diào)函數(shù)并傳遞參數(shù)和設(shè)置回調(diào)上下文
deferred.promise() 返回promise對(duì)象,這是一個(gè)偽造的deferred對(duì)象:它基于deferred并且不能改變狀態(tài)所以可以被安全的傳遞

具體查看API http://www.css88.com/jqapi-1.9/category/deferred-object/;

jQuery延時(shí)實(shí)現(xiàn)的核心是jQuery.Deferred:一個(gè)可以鏈?zhǔn)秸{(diào)用的構(gòu)造函數(shù)。…… 需要注意的是任何deferred對(duì)象的默認(rèn)狀態(tài)是unresolved, 回調(diào)會(huì)通過 .then() 、?.fail()等方法添加到隊(duì)列,并在稍后的過程中被執(zhí)行。

下面這張表格列舉了,哪些事件會(huì)觸發(fā)哪些回調(diào):

Callbacks\ Events→
deferred.always() deferred.done() deferred.fail() deferred.progress()
deferred.notify() 觸發(fā)
deferred.notifyWith() 觸發(fā)
deferred.reject() 觸發(fā) 觸發(fā)
deferred.rejectWith() 觸發(fā) 觸發(fā)
deferred.resolve() 觸發(fā) 觸發(fā)
deferred.resolveWith() 觸發(fā) 觸發(fā)

 

靈活的?jQuery.Deferred對(duì)象

$.deferred()方法

作用是生成一個(gè)deferred對(duì)象。

var deferred = $.deferred();

done() 和 fail()

這兩個(gè)方法都用來綁定回調(diào)函數(shù)。done()指定非同步操作成功后的回調(diào)函數(shù),fail()指定失敗后的回調(diào)函數(shù)。

var deferred = $.Deferred();
deferred.done(function(value) {
   alert(value);
});

它們返回的是原有的deferred對(duì)象,因此可以采用鏈?zhǔn)綄懛ǎ诤竺嬖冁溄觿e的方法(包括done和fail在內(nèi))。

resolve() 和 reject()

這兩個(gè)方法用來改變deferred對(duì)象的狀態(tài)。resolve()將狀態(tài)改為非同步操作成功,reject()改為操作失敗。

var deferred = $.Deferred();
deferred.done(function(value) {
   alert(value);
});
deferred.resolve("hello world");

一旦調(diào)用resolve(),就會(huì)依次執(zhí)行done()和then()方法指定的回調(diào)函數(shù);一旦調(diào)用reject(),就會(huì)依次執(zhí)行fail()和then()方法指定的回調(diào)函數(shù)。

state方法

該方法用來返回deferred對(duì)象目前的狀態(tài)。

var deferred = new $.Deferred();
deferred.state();  // "pending"
deferred.resolve();
deferred.state();  // "resolved"

該方法的返回值有三個(gè):

  • pending:表示操作還沒有完成。
  • resolved:表示操作成功。
  • rejected:表示操作失敗。

notify() 和 progress()

progress()用來指定一個(gè)回調(diào)函數(shù),當(dāng)調(diào)用notify()方法時(shí),該回調(diào)函數(shù)將執(zhí)行。它的用意是提供一個(gè)接口,使得在非同步操作執(zhí)行過程中,可以執(zhí)行某些操作,比如定期返回進(jìn)度條的進(jìn)度。

var userProgress = $.Deferred();
    var $profileFields = $("input");
    var totalFields = $profileFields.length
    userProgress.progress(function (filledFields) {
        var pctComplete = (filledFields/totalFields)*100;
        $("#progress").html(pctComplete.toFixed(0));
    }); 
    userProgress.done(function () {
        $("#thanks").html("Thanks for completing your profile!").show();
    });
    $("input").on("change", function () {
        var filledFields = $profileFields.filter("[value!='']").length;
        userProgress.notify(filledFields);
        if (filledFields == totalFields) {
            userProgress.resolve();
        }
    });

then()

then()的作用也是指定回調(diào)函數(shù),它可以接受三個(gè)參數(shù),也就是三個(gè)回調(diào)函數(shù)。第一個(gè)參數(shù)是resolve時(shí)調(diào)用的回調(diào)函數(shù),第二個(gè)參數(shù)是reject時(shí)調(diào)用的回調(diào)函數(shù),第三個(gè)參數(shù)是progress()方法調(diào)用的回調(diào)函數(shù)。

deferred.then( doneFilter [, failFilter ] [, progressFilter ] )
在jQuery 1.8之前,then()只是.done().fail()寫法的語法糖,兩種寫法是等價(jià)的。在jQuery 1.8之后,then()返回一個(gè)新的deferred對(duì)象,而done()返回的是原有的deferred對(duì)象。如果then()指定的回調(diào)函數(shù)有返回值,該返回值會(huì)作為參數(shù),傳入后面的回調(diào)函數(shù)。

var defer = jQuery.Deferred();
defer.done(function(a,b){
            return a * b;
}).done(function( result ) {
            console.log("result = " + result);
}).then(function( a, b ) {
            return a * b;
}).done(function( result ) {
            console.log("result = " + result);
}).then(function( a, b ) {
            return a * b;
}).done(function( result ) {
            console.log("result = " + result);
});
defer.resolve( 2, 3 );

在jQuery 1.8版本之前,上面代碼的結(jié)果是:

result = 2 
result = 2 
result = 2

在jQuery 1.8版本之后,返回結(jié)果是

result = 2 
result = 6 
result = NaN

這一點(diǎn)需要特別引起注意。

$.ajax( url1, { dataType: "json" } )
.then(function( data ) {
    return $.ajax( url2, { data: { user: data.userId } } );
}).done(function( data ) {
  // 從url2獲取的數(shù)據(jù)
});

上面代碼最后那個(gè)done方法,處理的是從url2獲取的數(shù)據(jù),而不是從url1獲取的數(shù)據(jù)。

利用then()會(huì)修改返回值這個(gè)特性,我們可以在調(diào)用其他回調(diào)函數(shù)之前,對(duì)前一步操作返回的值進(jìn)行處理。

var post = $.post("/echo/json/")
    .then(function(p){
        return p.firstName;
    });
post.done(function(r){ console.log(r); });

上面代碼先使用then()方法,從返回的數(shù)據(jù)中取出所需要的字段(firstName),所以后面的操作就可以只處理這個(gè)字段了。

有時(shí),Ajax操作返回json字符串里面有一個(gè)error屬性,表示發(fā)生錯(cuò)誤。這個(gè)時(shí)候,傳統(tǒng)的方法只能是通過done()來判斷是否發(fā)生錯(cuò)誤。通過then()方法,可以讓deferred對(duì)象調(diào)用fail()方法。

var myDeferred = $.post('/echo/json/', {json:JSON.stringify({'error':true})})
    .then(function (response) {
            if (response.error) {
                return $.Deferred().reject(response);
            }
            return response;
        },function () {
            return $.Deferred().reject({error:true});
        }
    );
myDeferred.done(function (response) {
        $("#status").html("Success!");
    }).fail(function (response) {
        $("#status").html("An error occurred");
    });

always()

always()也是指定回調(diào)函數(shù),不管是resolve或reject都要調(diào)用。

pipe方法

pipe方法接受一個(gè)函數(shù)作為參數(shù),表示在調(diào)用then方法、done方法、fail方法、always方法指定的回調(diào)函數(shù)之前,先運(yùn)行pipe方法指定的回調(diào)函數(shù)。它通常用來對(duì)服務(wù)器返回的數(shù)據(jù)做初步處理。

promise對(duì)象

大多數(shù)情況下,我們不想讓用戶從外部更改deferred對(duì)象的狀態(tài)。這時(shí),你可以在deferred對(duì)象的基礎(chǔ)上,返回一個(gè)針對(duì)它的promise對(duì)象。我們可以把后者理解成,promise是deferred的只讀版,或者更通俗地理解成promise是一個(gè)對(duì)將要完成的任務(wù)的承諾。

你可以通過promise對(duì)象,為原始的deferred對(duì)象添加回調(diào)函數(shù),查詢它的狀態(tài),但是無法改變它的狀態(tài),也就是說promise對(duì)象不允許你調(diào)用resolve和reject方法。

function getPromise(){
    return $.Deferred().promise();
}
try{
    getPromise().resolve("a");
} catch(err) {
    console.log(err);
}

上面的代碼會(huì)出錯(cuò),顯示TypeError {} 。

jQuery的ajax() 方法返回的就是一個(gè)promise對(duì)象。此外,Animation類操作也可以使用promise對(duì)象。

var promise = $('div.alert').fadeIn().promise();

$.when()方法

$.when()接受多個(gè)deferred對(duì)象作為參數(shù),當(dāng)它們?nèi)窟\(yùn)行成功后,才調(diào)用resolved狀態(tài)的回調(diào)函數(shù),但只要其中有一個(gè)失敗,就調(diào)用rejected狀態(tài)的回調(diào)函數(shù)。它相當(dāng)于將多個(gè)非同步操作,合并成一個(gè)。

$.when(
    $.ajax( "/main.php" ),
    $.ajax( "/modules.php" ),
    $.ajax( "/lists.php" )
).then(successFunc, failureFunc);

上面代碼表示,要等到三個(gè)ajax操作都結(jié)束以后,才執(zhí)行then方法指定的回調(diào)函數(shù)。

when方法里面要執(zhí)行多少個(gè)操作,回調(diào)函數(shù)就有多少個(gè)參數(shù),對(duì)應(yīng)前面每一個(gè)操作的返回結(jié)果。

$.when(
    $.ajax( "/main.php" ),
    $.ajax( "/modules.php" ),
    $.ajax( "/lists.php" )
).then(function (resp1, resp2, resp3){
    console.log(resp1);
    console.log(resp2);
    console.log(resp3);
});

上面代碼的回調(diào)函數(shù)有三個(gè)參數(shù),resp1、resp2和resp3,依次對(duì)應(yīng)前面三個(gè)ajax操作的返回結(jié)果。

when方法的另一個(gè)作用是,如果它的參數(shù)返回的不是一個(gè)Deferred或Promise對(duì)象,那么when方法的回調(diào)函數(shù)將 立即運(yùn)行。

$.when({testing: 123}).done(function (x){
  console.log(x.testing); // "123"
});

上面代碼中指定的回調(diào)函數(shù),將在when方法后面立即運(yùn)行。

利用這個(gè)特點(diǎn),我們可以寫一個(gè)具有緩存效果的異步操作函數(shù)。也就是說,第一次調(diào)用這個(gè)函數(shù)的時(shí)候,將執(zhí)行異步操作,后面再調(diào)用這個(gè)函數(shù),將會(huì)返回緩存的結(jié)果。

function maybeAsync( num ) {
  var dfd = $.Deferred();
  if ( num === 1 ) {
    setTimeout(function() {
      dfd.resolve( num );
    }, 100);
    return dfd.promise();
  }
  return num;
}
$.when(maybeAsync(1)).then(function (resp){
  $('#target').append('<p>' + resp + '</p>');
});
$.when(maybeAsync(0)).then(function (resp){
  $('#target').append( '<p>' + resp + '</p>');
});

上面代碼表示,如果maybeAsync函數(shù)的參數(shù)為1,則執(zhí)行異步操作,否則立即返回緩存的結(jié)果。

實(shí)例

wait方法

我們可以用deferred對(duì)象寫一個(gè)wait方法,表示等待多少毫秒后再執(zhí)行。

$.wait = function(time) {
  return $.Deferred(function(dfd) {
    setTimeout(dfd.resolve, time);
  });
}

使用方法如下:

$.wait(5000).then(function() {
  alert("Hello from the future!");
});

改寫setTimeout方法

在上面的wait方法的基礎(chǔ)上,還可以改寫setTimeout方法,讓其返回一個(gè)deferred對(duì)象。

function doSomethingLater(fn, time) {
  var dfd = $.Deferred();
  setTimeout(function() {
    dfd.resolve(fn());
  }, time || 0);
  return dfd.promise();
}
var promise = doSomethingLater(function (){
  console.log( '已經(jīng)延遲執(zhí)行' );
}, 100);

自定義操作使用deferred接口

我們可以利用deferred接口,使得任意操作都可以用done()和fail()指定回調(diào)函數(shù)。

Twitter = {
  search:function(query) {
    var dfr = $.Deferred();
    $.ajax({
     url:"http://search.twitter.com/search.json",
     data:{q:query},
     dataType:'jsonp',
     success:dfr.resolve
    });
    return dfr.promise();
  }
}

使用方法如下:

Twitter.search('intridea').then(function(data) {
  alert(data.results[0].text);
});

deferred對(duì)象的另一個(gè)優(yōu)勢(shì)是可以附加多個(gè)回調(diào)函數(shù)。

function doSomething(arg) {
  var dfr = $.Deferred();
  setTimeout(function() {
    dfr.reject("Sorry, something went wrong.");
  });
  return dfr;
}
doSomething("uh oh").done(function() {
  alert("Won't happen, we're erroring here!");
}).fail(function(message) {
  alert(message)
});

本文被轉(zhuǎn)載1次

首發(fā)媒體 Web前端開發(fā) | 轉(zhuǎn)發(fā)媒體

隨意打賞

提交建議
微信掃一掃,分享給好友吧。
主站蜘蛛池模板: 小辣椒福利视频导航 | 懂色av一区二区三区观看 | 哪个网站可以看毛片 | 日韩欧美国产成人精品免费 | 在线地址一地址二免费看 | 国产人妻久久精品二区三区老狼 | 日日噜噜夜夜爽爽 | 新国产三级在线观看播放 | 最新91在线 | 高h肉辣民工文 | 91国产免费看 | 久久婷婷五月综合色丁香 | 亚洲欧美日韩精品久久亚洲区 | 国产精品日韩欧美一区二区三区 | 男女做aj视频免费的网站 | 亚洲一区二区日韩 | 久久综合伊人77777麻豆 | 国产精彩视频一区 | 亚洲一二三四五 | 少妇又色又紧又大爽又刺激 | 成人在线观看www | 东伊人一本东热 | 国产人成免费爽爽爽视频 | а天堂中文在线官网在线 | 日韩经典在线观看 | 在线观看亚洲网站 | 欧美一区二区三区四区在线 | 中文一二区 | 日日拍拍| 国产原创在线视频 | 亚洲精品少妇30p | 精品无码av无码专区 | 色噜噜狠狠色综合中文字幕 | 性做久久久久久久 | 91ts人妖另类精品系列 | 91最新视频| 婷婷天堂 | 亚洲r成人av久久人人爽澳门赌 | 少妇特黄a一区二区三区 | 好湿好紧太硬了我太爽了视频 | 台湾亚洲精品一区二区tv | 国产卡一卡二卡三 | 99精品偷拍视频一区二区三区 | 综合精品欧美日韩国产在线 | 中文字幕高清免费日韩视频在线 | 亚洲深夜| 午夜网页 | 国产女人爽的流水毛片 | 精品在线免费观看视频 | 国产美女裸体无遮挡免费视频 | 中文无套内谢少妇视频 | 影音先锋在线国产 | 他掀开裙子舌头进去69式 | www国产91| 国产乱淫av| 欧美成人精品第一区 | 亚洲专区中文字幕 | 国产精品嫩草影院入口日本一区二 | 国产香蕉在线观看 | 国产v综合v亚洲欧美久久 | 国语对白91 | 欧美成人免费一区二区三区视频 | 91欧美精品午夜性色福利在线 | 日韩人妻无码一区二区三区99 | 美妇av | 91成熟丰满女人少妇尤物 | 日韩在线播放中文字幕 | 亚洲欧美中文字幕5发布 | 亚洲精品怡红院 | 亚洲欧美激情另类校园 | 亚洲精品成人网站在线观看 | 亚洲欧美日韩精品suv | 在线中文字幕观看 | 久热色| 密臀av夜夜澡人人爽人人 | 91久久捆绑调教美女 | 亚洲熟妇久久国内精品 | 国产超碰人人爽人人做人人爱 | 成人国产综合 | 2021最新国产精品网站 | 午夜精品久久久久久久久久 | 天天操人人射 | 免费成人黄色片 | 日本免费一区二区三区高清视频 | 欧美77777 | 淫品色影院 | 懂色av一区二区在线播放 | a级黄色毛片三个搞一 | 91视频蝌蚪 | 99嫩草| 男女啪祼交视频 | 51福利视频| 国产一区二区三区久久久久久久 | 久久一二区 | 青青超碰| 亚洲网站免费看 | 91久久国产婷婷一区二区 | 亚洲免费av观看 | 久久成人a毛片免费观看网站 | 欧美激情精品久久 | 一本久久a久久精品综合 | 日本精品在线播放 | 蜜桃香蕉视频 | 国产69久久精品成人看 | 亚洲热在线视频 | 国产国产人免费人成免费 | 欧美精品18 | www.色综合.com | 日本大奶子视频 | 欧美精品一区二区性色 | 中文在线最新版天堂 | 日本一区二区在线播放 | 成人美女黄网站色大色费全看在线观看 | 午夜男女很黄的视频 | 久久久久人妻精品一区三寸蜜桃 | 99久久久无码国产精品试看 | ass亚洲日本嫩体私拍ass | 狠狠色综合网久久久久久 | 国产精品视频999 | √新版天堂资源在线资源 | 四虎激情| 九色porny丨入口在线 | 理论片中文字幕 | 大肉大捧一进一出好爽视色大师 | 欧美一级在线观看视频 | 狠狠cao日日穞夜夜穞av | 欧美日韩不卡一区二区 | 中文天堂国产最新 | 久久精品国产一区二区电影 | 日本三级全黄 | 中文字幕乱偷在线小说 | 毛片网站在线播放 | 亚洲精品在线观看网站 | 午夜激情视频在线观看 | 亚洲视频在线观看免费视频 | 无码人妻丰满熟妇区五十路 | 波多野结衣一区二区三区免费视频 | 欧洲av在线| 无码专区人妻系列日韩精品少妇 | 国内精品91少妇在线播放 | 精品一区二区三区东京热 | 男男做性免费视频网 | 国产精品成人一区二区艾草 | 极品粉嫩嫩模大尺度无码视频 | 国产精品视频一区二区三区不卡 | 国产嫩草影院久久久久 | 久久精品国产99精品国产2021 | 国产亚洲精品美女久久久久 | 国产又粗又猛又黄又爽视频 | 无码人妻精品一区二区蜜桃百度 | 艳妇臀荡乳欲伦69调教视频 | 亚洲天堂男人av | 成人免费观看激情视频 | 蜜乳av一区二区三区 | 久久人人爽人人人人片 | 99国产偷伦视频在线观看 | 玖草在线 | 精品一区二区三区在线视频 | 欧美黑人两根巨大挤入 | а√在线中文网新版地址在线 | 人妻熟女一区二区aⅴ林晓雪 | a欧美在线| 日本肉体xxⅹ裸体交 | √天堂资源地址在线官网 | 97se亚洲国产综合在线 | 九九一级片| 日韩av无码中文无码不卡电影 | 久久免费看毛片 | 色情一区二区三区免费看 | 三级成人网| 国产色播av在线 | 91成人xxx| 亚洲国产精品va在线看黑人 | 成人vagaa免费观看视频 | 欧美一本在线 | 麻豆一区二区99久久久久 | 亚洲一区二区在线免费 | 久久国产经典 | 动漫美女靠逼 | 五月天婷婷激情网 | 国内揄拍国产精品人妻门事件 | 国产又黄又猛又粗又爽视频 | 免费看污黄网站在线观看 | 女人毛片a毛片久久人人 | 国产无套粉嫩白浆内精品 | 日韩一三区 | 久久精品网站免费观看 | 日韩黄色短视频 | 亚洲淫视频| 超碰在线影院 | 色综合天天综合网国产成人网 | 久久看av | a毛片成人 | 精品黑人一区二区三区久久 | 精品香蕉99久久久久网站 | 精品国产69 | 亚洲天堂手机在线观看 | 99精品视频在线 | 国产在线观看黄色 | 国产一级淫片a直接免费看 国产一级淫片免费放大片 国产一级影院 | a视频在线观看 | 激情综合网婷婷 | 欧美性猛交xxxx富婆 | 国产白浆在线 | 一级真人免费毛片 | 亚洲成a人片在线观看高清 成年女人a毛片免费视频 | 婷婷久久网 | 国产精品毛片大码女人 | 欧美不卡一区二区三区 | 久久大综合 | 成年免费视频黄网站zxgk | 精品一区二区三区免费播放 | 午夜伦理一区 | 亚洲 a v无 码免 费 成 人 a v | 成年人看的网站 | 色悠悠在线视频 | 黄色片子免费 | 国产97色在线 | 国产 | 丰满少妇被猛男猛烈进入久久 | 亚洲h视频在线 | 日本激情网 | 久久久精品99久久精品36亚 | 国产三级韩国三级日本带黄 | 亚洲女人的天堂 | 国产伦精品一区二区三区千人斩 | 日韩三级不卡 | 色婷婷久久久久swag精品 | 久草蜜桃 | 欧美多毛肥胖老妇做爰 | 欧美丝袜一区二区 | 国产精品国产亚洲精品看不卡 | 真实的国产乱ⅹxxx66小说 | 亚洲色图3p | av在线成人| 久操免费视频 | 在线观看91精品国产入口 | 999精品视频 | 亚洲成av人片在线观看ww | 亚洲精品乱码久久久久久 | 欧美美女一级片 | 丁香六月婷婷开心婷婷网 | 国产露脸911 | 老司机在线精品视频 | 国产喷水1区2区3区咪咪爱av | 亚洲欧美国产精品久久久久久久 | 国产女人爽的流水毛片 | 欧美日韩中文 | a级片网址 | 免费成人蒂法网站 | 国产成人午夜精品 | 精品国产乱码久久久久久牛牛 | 巨肉黄暴辣文高h文帐中香 巨乳动漫美女 | 日韩免费一级 | 在线观看av网页 | 欧美精品网站在线观看 | 欧美放荡的少妇 | 和嫩模做爰在线播放 | 韩日视频在线观看 | 欧美三级a做爰在线观看 | 亚洲第一成年网 | 在线免费日韩av | 日韩免费看| 97在线视频人妻无码 | 国产精品12页 | av男人的天堂在线观看国产 | 91麻豆精品国产 | 91丨九色 | 欧美精品一区在线 | 免费av入口 | 两个人做羞羞的视频 | 日本丰满少妇免费一区 | 宇都宫紫苑在线播放 | 久久久久久久久久久久久9999 | 77久久 | 老司机久久精品视频 | 乱色欧美激惰 | 色姑娘天天操 | 国产69精品久久久 | 女同性女同3p| 国产精品视频一区二区三区 | 草视频在线| 91爱爱·com| 俄罗斯少妇性高清ⅹxx | 久草热在线视频 | 污视频在线观看免费网站 | 极品少妇露脸一区二区 | 一级做a爰 | 成在线人av免费无码高潮喷水 | 免费一级做a爰片性色毛片 免费一级做a爰片性视频 | 亚洲精品视频二区 | 色老头免费视频 | 美女无遮挡免费视频网站 | 国产精品久久久久影院色老大 | 婷婷激情小说网 | www夜夜爱| 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 香蕉人人超人人超碰超国产 | xox0人妖国产另类 | 在线免费黄 | 国产网红福利视频一区二区 | 99riav3国产精品视频 | 亚洲成人欧美 | 国产精品久久久久久免费 | 欧美wwwwwwxxxxxx | 大桥未久亚洲精品久久久强制中出 | 久久久九九九九 | 大伊人狠狠躁夜夜躁av一区 | 欧美在线一二 | xxxx69黄大片| 少妇高潮21p | 国产午夜精品一区理论片飘花 | 草青青视频 | 夜夜爽亚洲人成8888 | 欧美日韩国产在线 | 亚洲综合伊人久久综合 | 无码人妻精品一区二区三区不卡 | 成年人爱爱视频 | 亚洲国产一区二区三区四区四季 | 精彩动漫 - 91爱爱 | 久久久久久久99精品免费观看 | 黄色一及毛片 | 国产精品午夜影院 | eeuss鲁片一区二区三区小说 | 国产欧美高清在线观看 | 免费日韩精品 | 亚洲日韩欧美内射姐弟 | 青青国产精品视频 | 久久久久久自慰出白浆 | 国产精品视频久久 | 中国少妇乱子伦视频播放 | 超碰网站在线观看 | 丁香五香天堂 | 性按摩xxxx在线观看 | 欧美日韩精品一区二区视频 | 国产97色在线 | 国产 | 高清不卡一区二区 | 色偷偷影院 | 国产成人无码aa精品一区 | 色鬼7777久久 | 亚洲精品一区在线 | 精品久久久久久无码免费 | 日本加勒比一区二区 | 欧美一区精品 | 久久午夜伦鲁片免费无码 | 天堂无码人妻精品av一区 | 女人张开腿涩涩网站 | gogo人体做爰aaaa | 国产免费看av | 国产v亚洲v天堂a无码 | 日本大香伊一区二区三区 | 99精品视频在线观看免费播放 | 成人网页在线观看 | 99国内精品久久久久久久 | 天海翼一区二区三区高清在线观看 | 9porny九色视频自拍 | 美国一级大黄一片免费中文 | 久久久久香蕉国产线看观看伊 | 亚洲二区在线观看 | 农场巨污高h文 | 亚洲午夜久久久久久久久红桃 | 99亚洲国产精品 | 成年黄色网 | 欧洲熟妇色xxxx欧美老妇老头多毛 | 中文字幕va一区二区三区 | 欧美成人中文字幕 | 亚洲不卡高清视频 | 欧美色图网址 | 免费看黄色的网站 | 国产欧美精品一区二区在线播放 | 青青草娱乐在线 | 欧美视频二区欧美影视 | 国产男女无遮挡猛进猛出 | www.嫩草.com | 日韩在线视频在线观看 | 成人免费视频一区二区三区 | 少妇全光淫片bbw | 日批视频免费看 | 在线播放黄色av | 精品国产乱码久久久久久口爆网站 | 在线免费av网址 | 五月天丁香视频 | 先锋资源在线视频 | 久久精品人人做人人爱爱站长工具 | 欧美日韩国产在线精品 | 东北老头老太国产 | 久久香蕉国产精品麻豆粉嫩av | 久久久精品波多野结衣av | 久久久亚洲欧美 | 国产精品1区2区3区 国产精品1区2区3区4区 | 日韩一区二区三区射精 | 国产欧美日韩精品丝袜高跟鞋 | 黄色一级生活片 | 西西44rtwww国产精品 | 五月激情丁香网 | 91精品久久久久久久久 | 国产又粗又硬又黄的视频 | 羞羞视频网站在线观看 | 俺来也av | 日本无遮羞调教惩罚网站 | 精品亚洲欧美无人区乱码 | 国产精品va无码一区二区 | 日本乱子伦 | 日本十八禁视频无遮挡 | 爱情岛论坛亚洲品质自拍网址 | 99国产精品自拍 | 欧美精品v | 少妇激情视频一二三区 | 亚洲精品无码午夜福利中文字幕 | 久久99国产精品免费网站 | av片在线免费观看 | jizzjizzjizz亚洲| 国色天香社区在线视频 | 伊人av在线免费观看 | 性国产激情精品 | 国产免费一区二区三区四在线播放 | 国产又色又爽又黄的 | 欧美俄罗斯乱妇 | 亚洲免费成人在线 | 色噜噜狠狠一区二区三区 | 中国老太婆bb无套内射 | 久久综合综合 | 国产又大又黑又粗 | 亚洲日本欧美日韩中文字幕 | 91区| 久久成人麻豆午夜电影 | 无码人妻视频一区二区三区 | 性综合网 | 久久成| 91网页版| 欧美一区二区影视 | 少妇被粗大猛进进出出 | 激情女主播 | 欧洲熟妇色 欧美 | 永久免费的av在线电影网 | 欧美高清视频一区二区三区 | 日韩欧美小视频 | 日本三级吃奶头添泬无码苍井空 | 在线精品国产一区二区三区 | 精品一区二区三区中文字幕 | 精品久久香蕉国产线看观看亚洲 | 日本成人午夜视频 | 国产精品夜间视频香蕉 | 女性向h片在线观看 | 日韩精品一区二区三区中文字幕 | 91福利张津瑜在线播放 | 成人久色| 成人aaa片一区国产精品 | 欧美体内谢she精2性欧美 | 91精品久久久久含羞草 | 亚洲日本中文字幕天天更新 | 人人妻人人爽人人做夜欢视频九色 | 美女裸体视频永久免费 | 三级男人添奶爽爽爽视频 | 九九视频这里只有精品 | 一 级做人爱全视频在线看 亚洲成a∨人片在线观看不卡 | 色婷婷激情综合 | 亚洲 日本 欧美 中文幕 | 97精品视频在线播放 | 亚洲午夜精品一区二区三区 | 亚洲视频图片小说 | 少妇精品导航 | 国产欧美日韩综合精品二区 | 国产黄色免费 | 精品久久一区二区 | 欧美videos另类精品 | 婷婷综合久久中文字幕蜜桃三电影 | 深夜福利院| 国产成人精品亚洲一区 | 在线成人精品国产区免费 | 精品久久久久久无码国产 | 亚洲色婷婷综合久久 | 无码av中文一区二区三区桃花岛 | 成人做爰黄 | 国产精品久久久久久久久久久久久久久久久久 | 国产又黄又硬又粗 | 亚洲精品久久久久中文字幕欢迎你 | 依依色综合一道本 | 亚洲免费影视 | 一起艹在线观看 | 青青青视频免费观看 | 成人性做爰片免费视频 | 国产成人精品自拍 | 国产亚洲婷婷香蕉久久精品 | 久久人人爽人人爽人人片av高清 | 97免费在线视频 | 色哟哟网站在线观看 | av明星换脸无码精品区 | 久久精品99国产精品酒店日本 | 青青草免费观看视频 | 老女人给我性启蒙 | 日韩av免费片 | 亚洲国产成人精品女人久久久 | 色婷婷a | 蜜臀av性久久久久蜜臀aⅴ | 国产精品美女www爽爽爽视频 | 日日摸夜夜摸狠狠摸婷婷 | 欧美黄网址 | 国内揄拍国内精品少妇国语 | 能看av的网站 | 国产亚洲精品精品精品 | 少妇高潮喷水久久久久久久久久 | 欧美另类在线视频 | 激情另类视频 | 236宅宅理论片免费 爱久久av一区二区三区 | 欧亚激情偷人伦小说专区 | 亚洲国产欧美国产综合一区 | 美女福利视频一区 | 日韩福利视频导航 | 国产xxx69麻豆国语对白 | 国产露脸150部国语对白 | 久热久色| 91国在线| 欧美人与禽猛交狂配 | 国产小呦泬泬99精品 | 我撕开了少妇的蕾丝内裤视频 | 波多野吉衣久久 | 欧美大尺度做爰啪啪床戏明星 | 日韩三级网 | 欧美伊人网 | 禁果av一区二区三区 | 国产又爽又黄无码无遮挡在线观看 | 国产自在自线午夜精品 | 久久综合给合久久狠狠狠97色 | 欧美aa在线 | 中国女人内谢69xxxxⅹ视频 | 亚洲黄色在线视频 | 中国挤奶哺乳午夜片 | 久久人爽人人爽人人片av | 久久久精品国产一区二区三区 | 女人大荫蒂毛茸茸视频 | 亚洲精品国产一区二区的区别 | 精久久久 | 特级做a爰片毛片免费69 | 一级做受大片免费视频 | 麻豆av免费入口 | 对白刺激国产子与伦 | 欧美第一夜 | 秋霞在线播放视频 | 成人性生交大片免费看 | 亚洲精品第一国产综合野 | 性国产丰满麻豆videosex | 国产精品入 | 亚洲熟妇av一区二区三区漫画 | 99精品人妻无码专区在线视频区 | 色综合久久无码五十路人妻 | 一区二区三区四区不卡 | 欧美色图国产精品 | 国产精品二区一区二区aⅴ 国产精品粉嫩懂色av | 无码人妻丰满熟妇区毛片 | 久草在线免费福利资源 | 二区在线观看 | av视屏在线| 可以免费看毛片的网站 | 中文学幕专区 | 青青草狠狠操 | 色综合社区 | 亚洲国产成人综合精品 | 人人爽人人片人人片av | 国产精品蜜 | 大陆av在线| 视频精品一区二区三区 | 亚洲色婷婷综合久久 | 成人性生交大片免费看在线播放 | 国产看黄网站又黄又爽又色 | 99久久久无码国产精品9 | 10000部美女免费大片aaa | 黄色av网址大全 | 超碰97人人人人人蜜桃 | 日韩欧美有码 | 亚洲熟妇久久国产精品 | 翘臀后进少妇大白嫩屁股视频 | 综合视频一区 | 波多野结衣乱码中文字幕 | 97久久久久久久久久久久 | 午夜爱| 久久久久久福利 | 影音先锋久久久久av综合网成人 | 国产一区二区午夜 | 亚洲中文字幕在线无码一区二区 | 97se亚洲综合在线 | a∨视频| 欧美一级片网站 | 国产精品人妻一码二码尿失禁 | 久久精品国产亚 | 一本色道综合久久欧美日韩精品 | 69堂视频| 在线观看网址你懂的 | 午夜小视频在线免费观看 | 亚洲成av人不卡无码影片 | 天堂资源中文网 | 国产在线欧美 | 久久入| 荫蒂添的好舒服视频囗交 | 欧美日本国产在线 | 亚洲精品一线二线 | 欧美一区二区三区视频在线观看 | 亚洲精品无码永久在线观看性色 | 久久久久久久久久久久久女国产乱 | 色播av在线 | 懂色av中文一区二区三区天美 | 久久国产成人精品av | 老熟妇仑乱视频一区二区 | 天堂在线中文资源 | 亚洲综合av在线在线播放 | 少妇粉嫩小泬喷水视频 | 亚洲爆乳精品无码一区二区三区 | 日本成人在线网站 | 神马香蕉久久 | 97国产在线播放 | 性精品| 日本三级aaa | 人妻少妇精品一区二区三区 | 搡少妇在线视频中文字幕 | 777色狠狠一区二区三区 | 丰满人妻一区二区三区免费视频 |