精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用Promise講一個悲傷的故事給你聽

開發 前端
那天我正在學習 Promise,突然家里打電話過來說,家里蓋房子要錢。我工作這么多年了,從事著別人眼中高薪工作,于是滿口答應下來。但是由于我并沒有錢,于是我跟家里說,等過幾天我再打錢過去。我也好乘著這幾天想想辦法。

[[234989]]

那天我正在學習 Promise,突然家里打電話過來說,家里蓋房子要錢。我工作這么多年了,從事著別人眼中高薪工作,于是滿口答應下來。但是由于我并沒有錢,于是我跟家里說,等過幾天我再打錢過去。我也好乘著這幾天想想辦法。

首先我找到我的同學李雷,他現在一個部門經理了,我想應該他應該有錢。我跟他說明了借錢的意向,李雷二話不說就答應借我300,不過同時表示要回家跟老婆商量商量,我說好。此時我想起來答應或者說承諾的英文單詞就是 Promise 。承諾的結果是錢,錢是數值(number 類型)。于是我想把我要借錢的這一行為寫成一個 TypeScript 函數如下:

 

  1. // 向李雷借錢,李雷丟給我一個承諾 
  2. function borrowMoneyFromLiLei(): Promise<number> { 
  3.   return new Promise<number>(function(fulfill, reject) { 
  4.      // 李雷跟老婆商量中 
  5.   }); 

此時,我在想李雷老婆會答應給我借300塊嗎?我不確定,就像薛定諤的貓。借還是不借,這是一個問題。然后我發現這也可以寫成一個函數。借或者不借用布爾值來表示 (boolean 類型)。函數如下:

 

  1. // 李雷的老婆是否會答應給我借錢? 
  2. function willLiLeiWifeLendMeMoeny(): Promise<boolean> { 
  3.   return new Promise<boolean>(function(lend, reject) { 
  4.     // 借還是不借 
  5.   }); 

如果李雷借我錢了,我就轉錢給家里,沒有,我應該要再去找別人借了。可以用下面的函數描述我此時的處境。

 

  1. function transferMoneyToHome(money: number) { 
  2.     // 給家里轉錢 
  3. function mySituation(){ 
  4.     borrowMoneyFromLiLei() 
  5.     .then((money:number) => { 
  6.         // 如果李雷借我錢了,我就轉錢給家里. 
  7.         transferMoneyToHome(money) 
  8.     }).catch((reason) => { 
  9.         // 李雷老婆拒絕借錢給我。 那我應該考慮向其他人借了。 
  10.         borrowMoneyFromOthers() 
  11.     }) 

找其他人借,我能想到就(張三,李四,五五)這三個人了,其他的朋友很少聯系,突然說借錢也不好。于是我嘗試向他們借錢。用代碼表示是這樣子的:

  1. function borrowMoneyFromOthers() { 
  2.   // 我先試著向張三借 
  3.   tryBorrowMoneyFromZhangshan() 
  4.     .then(money => { 
  5.       transferMoneyToHome(money); 
  6.     }) 
  7.     .catch(reason => { 
  8.       // 如果張三不借,并丟給我一個理由 
  9.       // 試著向李四借 
  10.       tryBorrowMoneyFromLisi() 
  11.         .then(money => { 
  12.           transferMoneyToHome(money); 
  13.         }) 
  14.         .catch(reason2 => { 
  15.           // 如果 李四也不肯錯 
  16.           // 再試試向王五借 
  17.           tryBorrowMoneyFromWangwu() 
  18.             .then(money => { 
  19.               transferMoneyToHome(money); 
  20.             }) 
  21.             .catch(reason => { 
  22.               // 沒有人肯借 
  23.               throw new Error("我該怎么辦呢?"); 
  24.             }); 
  25.         }); 
  26.     }); 

由于借著錢之后都是向家里轉錢,所以上面的代碼應該簡化一下。簡化后如下:

 

  1. function borrowMoneyFromOthers() { 
  2.   // 我先試著向張三借 
  3.   tryBorrowMoneyFromZhangshan() 
  4.     .then(transferMoneyToHome) 
  5.     .catch(reason => { 
  6.       // 如果張三不借,并丟給我一個理由 
  7.       // 試著向李四借 
  8.       tryBorrowMoneyFromLisi() 
  9.         .then(transferMoneyToHome) 
  10.         .catch(reason2 => { 
  11.           // 如果 李四也不肯錯 
  12.           // 再試試向王五借 
  13.           tryBorrowMoneyFromWangwu() 
  14.             .then(transferMoneyToHome) 
  15.             .catch(reason => { 
  16.               // 沒有人肯借 
  17.               throw new Error("我該怎么辦呢?"); 
  18.             }); 
  19.         }); 
  20.     }); 

在上面的思路中,我是一個一個找他們借錢的,一個借不著再找另一個。我為什么不同時找他們借呢?誰借我了,我就轉錢給家里。此時我想起了剛學的 Promise.race 方法,也許這個方法可以幫助我表達我的這一決策需求.

 

  1. function borrowMoneyFromOthers() { 
  2.   // 同時向張三,李四,王五借錢,只要有人借我錢了,我就轉錢給家里。 
  3.   Promise.race([ 
  4.     tryBorrowMoneyFromZhangshan(), 
  5.     tryBorrowMoneyFromLisi(), 
  6.     tryBorrowMoneyFromWangwu() 
  7.   ]) 
  8.     .then(transferMoneyToHome) 
  9.     .catch(reasons => { 
  10.       console.warn("沒一個人愿意給我借錢,他們理由是:", reasons); 
  11.     }); 

我用timeout 模擬一下他們給我答復的,代碼如下:

 

  1. // 嘗試找張三借 
  2. function tryBorrowMoneyFromZhangshan(): Promise<number> { 
  3.   return new Promise(function(fulfill, reject) { 
  4.     setTimeout(() => { 
  5.       fulfill(300); 
  6.     }, 100); 
  7.   }); 
  8. // 嘗試找李四借 
  9. function tryBorrowMoneyFromLisi(): Promise<number> { 
  10.   return new Promise(function(fulfill, reject) { 
  11.     setTimeout(() => { 
  12.       reject("對不起我也沒錢"); 
  13.     }, 50); 
  14.   }); 
  15. // 嘗試找王五借 
  16. function tryBorrowMoneyFromWangwu(): Promise<number> { 
  17.   return new Promise(function(fulfill, reject) { 
  18.     setTimeout(() => { 
  19.       fulfill(300); 
  20.     }, 500); 
  21.   }); 

結果運行之后,控制臺輸出的是:

沒一個人愿意給我借錢,他們理由是: 對不起我也沒錢

看來 Promise.race 適用用來模擬搶答,而不是選擇最優解。 比如多人搶答一個問題,第一個搶答之后不論他回答的是否是正確,這個題都過了。

不過沒關系。也許我可以自己寫一個來叫做 promiseOne 的函數來實現這個功能。代碼如下:

 

  1. /** 
  2.  * 當其中一個 Promise 兌現時,返回的 Promise 即被兌現 
  3.  * @param promises Promise<T> 的數組 
  4.  */ 
  5. function promiseOne<T>(promises: Promise<T>[]): Promise<T> { 
  6.   const promiseCount = promises.length; 
  7.   return new Promise<T>(function(resolve, reject) { 
  8.     const reasons: any[] = []; 
  9.     let rejectedCount = 0; 
  10.     promises.forEach((promise, index) => { 
  11.       promise.then(resolve).catch(reason => { 
  12.         reasons[index] = reason; 
  13.         rejectedCount++; 
  14.         if (rejectedCount === promiseCount) { 
  15.           reject(reasons); 
  16.         } 
  17.       }); 
  18.     }); 
  19.   }); 

正當我寫完了上面的代碼,他們三個給我回話了,說是現在手上也沒有那么多錢,但是可以給我借100. 于是我現在需要處理這樣的事情,就是當他們三個人把錢都轉給我之后我再轉給家里。 當他們三個都兌換借我100塊錢的承諾時,可以用 Promise.all 來表示,代碼如下:

 

  1. function borrowMoneyFromOthers() { 
  2.   // 同時向張三,李四,王五借錢, 借到之后,我就轉錢給家里。 
  3.   Promise.all([ 
  4.     tryBorrowMoneyFromZhangshan(), 
  5.     tryBorrowMoneyFromLisi(), 
  6.     tryBorrowMoneyFromWangwu() 
  7.   ]) 
  8.     .then(moneyArray => { 
  9.       console.info("借到錢啦:", moneyArray); 
  10.       const totalMoney = moneyArray.reduce((acc, cur) => acc + cur); 
  11.       transferMoneyToHome(totalMoney); 
  12.     }) 
  13.     .catch(reasons => { 
  14.       console.warn("有人不愿意給我借錢,理由是:", reasons); 
  15.     }); 

現在有三個人愿意給我借錢了,嗯,也就是說我借到了 300 塊。然而這錢用來建房還是杯水車薪。所以我還得想辦法。我想我要不要試試用這300塊來買一下彩票。如果中了,說不定這事就成了。

 

  1. function buyLottery(bet: number): Promise<number> { 
  2.   return new Promise(function(fulfill, resolve) { 
  3.     // 投注 
  4.     // 等待開獎 
  5.     setTimeout(() => { 
  6.       resolve("很遺憾你沒有買中"); 
  7.     }, 100); 
  8.   }); 
  9.  
  10. function borrowMoneyFromOthers() { 
  11.   // 同時向張三,李四,王五借錢,  
  12.   Promise.all([ 
  13.     tryBorrowMoneyFromZhangshan(), 
  14.     tryBorrowMoneyFromLisi(), 
  15.     tryBorrowMoneyFromWangwu() 
  16.   ]) 
  17.     .then(moneyArray => { 
  18.       console.info("借到錢啦:", moneyArray); 
  19.       const totalMoney = moneyArray.reduce((acc, cur) => acc + cur); 
  20.       // 購買彩票 
  21.       buyLottery(totalMoney) 
  22.         .then(transferMoneyToHome) 
  23.         .catch(reason => { 
  24.           console.log("沒中,", reason); 
  25.         }); 
  26.     }) 
  27.     .catch(reasons => { 
  28.       console.warn("有人不愿意給我借錢,理由是:", reasons); 
  29.     }); 

我知道很大概率我是買不中的,最近世界杯開賽了,我幻想著壓注世界杯,而且世界杯場次多,一天好幾場,一場買中的盈利還可以投入到下一場。我把我的幻想寫成代碼,大概就是下面這樣。

 

  1. function betWorldCup() { 
  2.   // 初始資金 300 塊 
  3.   Promise.resolve(300) 
  4.     .then(moeny => { 
  5.       // 投西班牙 
  6.       return new Promise<number>(function(fulfil, reject) { 
  7.         setTimeout(() => { 
  8.           // 假假設 賠率 1.2 
  9.           fulfil(moeny * 1.2); 
  10.         }, 100); 
  11.       }); 
  12.     }) 
  13.     .then(ret => { 
  14.       // 投英格蘭 
  15.       return ret * 1.2; 
  16.     }) 
  17.     .then(ret => { 
  18.       // 投巴西 
  19.       return new Promise<number>(function(fulfil, reject) { 
  20.         setTimeout(() => { 
  21.           fulfil(ret * 1.2); 
  22.         }, 92); 
  23.       }); 
  24.     }) 
  25.     .then(ret => { 
  26.       console.log("現在收益加本金共有: ", ret); 
  27.     }); 

我想,如果第一場投失敗了,應該再給自己一次機會。于是將代碼修改如下:

 

  1. function betWorldCup() { 
  2.   // 初始資金 300 塊 
  3.   Promise.resolve(300) 
  4.     .then(moeny => { 
  5.       // 投西班牙 
  6.       return new Promise<number>(function(fulfil, reject) { 
  7.         setTimeout(() => { 
  8.           // 假假設 賠率 1.2 
  9.           // fulfil(moeny * 1.2); 
  10.           reject("莊家跑跑路了"); 
  11.         }, 100); 
  12.       }); 
  13.     }) 
  14.     .then
  15.       ret => { 
  16.         // 投英格蘭 
  17.         return ret * 1.2; 
  18.       }, 
  19.       reason => { 
  20.         console.info("第一次投注失敗,再給一次機會好不好?, 失敗原因: ", reason); 
  21.         // 再投 300 
  22.         return 300; 
  23.       } 
  24.     ) 
  25.     .then(ret => { 
  26.       // 投巴西 
  27.       return new Promise<number>(function(fulfil, reject) { 
  28.         setTimeout(() => { 
  29.           fulfil(ret * 1.2); 
  30.         }, 92); 
  31.       }); 
  32.     }) 
  33.     .then(ret => { 
  34.       console.log("現在收益加本金共有: ", ret); 
  35.       throw new Error("不要再買了"); 
  36.     }) 
  37.     .then(ret => { 
  38.       console.info("準備再買嗎?"); 
  39.     }) 
  40.     .catch(reason => { 
  41.       console.log("出錯了:", reason); 
  42.     }); 

此時如下運行上面的函數會得到如下輸出:

  • 第一次投注失敗,再給一次機會好不好?, 失敗原因: 莊家跑跑路了
  • 現在收益加本金共有: 360
  • 出錯了:
  • Error: 不要再買了

然而,幻想結束之后,我依然得苦苦思考怎么樣籌錢。

責任編輯:未麗燕 來源: 程序師
相關推薦

2018-06-23 08:02:31

程序員代碼故事

2015-11-12 09:47:28

2015-08-13 14:35:43

2022-12-22 08:22:17

Python圖像圖像處理

2015-08-05 09:45:25

IOS故事多線程

2024-01-08 13:40:00

并發安全? 數量

2015-11-06 09:45:21

2020-09-06 22:59:35

Linux文件命令

2021-09-12 17:23:57

canvas動畫函數

2020-09-24 11:46:03

Promise

2023-01-30 16:21:24

Linux外觀

2009-09-02 17:51:36

.NET委托

2024-05-20 01:10:00

Promise變量

2021-04-27 08:31:37

Promisereject信息

2021-04-28 08:21:21

Promise.any服務器場景

2025-06-13 09:40:45

2021-08-04 17:55:38

keysRedis數據庫

2019-05-30 10:15:30

2012-11-29 09:49:17

軟件項目項目
點贊
收藏

51CTO技術棧公眾號

日韩一区二区三区av| 男女污污视频在线观看| av资源在线看片| 日韩经典中文字幕一区| 亚洲动漫第一页| 国产精品色视频| 中文乱码人妻一区二区三区视频| 69国产精品视频免费观看| 涩涩屋成人免费视频软件| 中文字幕av不卡| 日本午夜精品理论片a级appf发布| 天堂在线精品视频| 国产三级在线播放| 久久99日本精品| 在线视频欧美日韩精品| 无码人妻h动漫| 视频一区二区在线播放| 在线播放精品| 亚洲精品在线免费观看视频| 日韩成人午夜影院| 国产视频在线观看视频| 久久人体视频| 欧美日韩一区二区三区视频| 欧美影视一区二区| 欧美一区免费看| 美女亚洲一区| 91国偷自产一区二区开放时间 | 久久亚洲国产成人精品性色| 999精品嫩草久久久久久99| 国产精品福利av | 全球中文成人在线| 中文字幕第一区| 精品国产乱码久久久久久久软件| 国产午夜小视频| 美女av一区| 欧美日韩一区二区在线 | 亚洲永久精品大片| 国产精品视频999| 国产成人无码精品亚洲| 亚州综合一区| 高潮白浆女日韩av免费看| 免费观看中文字幕| 亚洲国产欧美另类| 国产精品毛片| 在线精品视频视频中文字幕| 色天使在线观看| 伊人影院在线视频| 99久久久国产精品免费蜜臀| 人人爽久久涩噜噜噜网站| 极品尤物一区二区| 日韩激情综合| 日韩午夜激情av| 亚洲制服中文字幕| 99热99re6国产在线播放| 亚洲视频免费看| 国产一区二区在线网站| 一级久久久久久| 欧美日本久久| 中日韩午夜理伦电影免费 | 成人免费在线观看视频网站| 国产激情在线| 91毛片在线观看| 国产精品自产拍在线观看| 国产真实乱在线更新| 欧美a大片欧美片| 在线电影一区二区三区| 国产97在线 | 亚洲| av电影在线观看一区二区三区| 国产一区不卡在线| 国产成人福利视频| 国产无遮挡又黄又爽在线观看| 精品免费在线| 亚洲国产成人精品久久久国产成人一区 | 午夜成人免费视频| 亚洲精品在线视频观看| 视频污在线观看| 激情六月婷婷久久| 欧美在线激情网| 日韩国产成人在线| 九九视频精品免费| 国产精品久久国产精品| 一区二区的视频| 日韩在线一区二区三区| 国产精品久久不能| 午夜精品久久久久久久久久久久久蜜桃 | 麻豆一区二区三| 欧美综合在线第二页| 日本久久综合网| 国产麻豆精品在线观看| 国产精品久久久久久久久久久久久| 国产成人a v| 韩国成人在线视频| 国产一区在线免费观看| 成人动漫在线免费观看| 99久久精品情趣| 成人黄色免费网站在线观看| 欧美特级黄色片| 美女视频黄频大全不卡视频在线播放| 欧美有码在线视频| 国产精品第108页| 日本中文字幕一区二区有限公司| 欧美激情在线一区| 黑人巨大精品一区二区在线| 91九色精品| 久久精品最新地址| 国产欧美小视频| 激情文学一区| 国产日本欧美一区二区三区| 波多野结衣电车痴汉| 国产精品18久久久久久久久 | 国产福利一区二区精品秒拍| 日韩一本二本av| 亚洲第一香蕉网| 日韩电影不卡一区| 久久久精品电影| 伊人久久久久久久久久久久| 国产精品18久久久久久久久| 亚洲国产一区二区精品视频 | 少妇献身老头系列| 91成人短视频| 亚洲成年人在线播放| 亚洲一二三四视频| 欧美电影《睫毛膏》| 91国产美女视频| 亚洲黄色免费观看| 成人性生交大合| 久久riav| yjizz视频网站在线播放| 亚洲成人免费在线| 久久精品一二三四| 日韩免费高清| 欧美日韩国产91| 日韩福利片在线观看| 国产一区二区三区四| 天天综合色天天综合色hd| 欧洲亚洲在线| 中文字幕欧美国产| 欧美黄网站在线观看| 久久九九热re6这里有精品| 欧美大胆a视频| 国产精品美女久久久久av爽| 国产成人综合网站| 日韩精品福利片午夜免费观看| 成人免费一区| 精品国产乱码久久久久久久| 97精品在线播放| 欧美三区视频| 亚洲自拍欧美另类| 欧洲一级在线观看| 欧美性猛交视频| 99久久99精品| 婷婷综合视频| 97久久人人超碰caoprom欧美| 农村少妇久久久久久久| 国产日韩欧美精品在线| 五月天激情图片| 亚洲天堂av资源在线观看| 欧美理论电影在线播放| 亚洲黄色一级大片| 午夜久久久久久| 亚洲国产第一区| 欧美专区18| 97人人澡人人爽| 亚洲第一图区| 欧美视频在线观看一区二区| 久久国产劲爆∧v内射| 成人影院在线| 66m—66摸成人免费视频| 日韩中文字幕影院| 欧美日韩国产麻豆| 久久久久无码精品国产sm果冻| 欧美福利网址| 国产精品美女久久久久久免费| 97在线观看免费观看高清| 欧美男同性恋视频网站| 欧美卡一卡二卡三| 99久久伊人精品| 男女无套免费视频网站动漫| 欧美交a欧美精品喷水| 欧美做受高潮1| 调教视频免费在线观看| 日韩欧美一区视频| 国产aaaaaaaaa| 国产成人亚洲综合a∨婷婷| 久久亚洲中文字幕无码| 超碰成人在线免费| 久久色精品视频| 久久久精品毛片| 亚洲色图欧洲色图| 中文在线永久免费观看| 美女脱光内衣内裤视频久久影院| 欧美黄色免费网址| 精品一区二区三区亚洲| 色妞欧美日韩在线| 中文字幕一区二区在线视频| 久久日韩精品一区二区五区| 成人在线国产视频| 88久久精品| 国产精品美女在线| 国产啊啊啊视频在线观看| 日韩欧美中文一区二区| av资源免费观看| 亚洲视频在线一区| av在线网站观看| 六月婷婷一区| 国产激情片在线观看| 欧美激情在线免费| 粉嫩av一区二区三区免费观看| 欧美日韩在线视频免费观看| 精品免费日韩av| 精品人妻在线播放| 中文字幕精品在线不卡| 精品熟女一区二区三区| 亚洲精品1234| 久久精品美女| 国产精品一区二区美女视频免费看 | 国产91色在线播放| 俺来俺也去www色在线观看| 日韩一区二区在线视频| 一本色道久久综合无码人妻| 国产精品国产三级国产aⅴ无密码| 91九色蝌蚪porny| 亚洲视频1区| 在线观看av的网址| 成人综合久久| 欧美一二三四五区| 日韩三级视频| 国产精品一区二区在线观看 | 大桥未久在线播放| 久久亚洲精品一区| 日本三级在线视频| 中文欧美日本在线资源| 免费资源在线观看| 亚洲精品一区二区三区婷婷月 | 牛牛电影国产一区二区| 久久久国产在线视频| 午夜小视频在线| 中文字幕亚洲一区二区三区| 久久久资源网| 亚洲美女性生活视频| 这里只有精品999| 亚洲欧美日韩国产综合| 97人妻精品一区二区三区免费| 国产美女精品在线| 亚洲女人在线观看| 国产一区二区三区av电影| 亚洲精品国产久| 国产一区在线观看视频| 欧美视频亚洲图片| 国产传媒欧美日韩成人| 男人添女人荫蒂国产| 国产成人午夜99999| 中文字幕无码毛片免费看| 亚洲欧美卡通另类91av| 在线视频不卡国产| 日本亚洲不卡| 久久久水蜜桃| 免费av一区二区三区四区| 欧美亚洲另类久久综合| 日韩欧美中文字幕一区二区三区| 亚洲影院色在线观看免费| 亚洲1区在线观看| 国产美女在线精品免费观看| 老牛国内精品亚洲成av人片| 鲁丝一区二区三区免费| 国模大尺度视频一区二区| 亚洲最大福利网| 久久porn| 午夜视频久久久| 欧美xxx在线观看| 人妻无码久久一区二区三区免费| 日韩免费视频| 一道本在线观看视频| 九九综合九九| 国产精品99久久久久久大便| 欧美日韩调教| 男人操女人免费| 久久国产人妖系列| 男人网站在线观看| 欧美激情一区二区三区蜜桃视频| 日韩免费高清一区二区| 久久嫩草精品久久久精品| 精品人妻中文无码av在线 | 99久久99久久综合| 亚洲一区 欧美| 亚洲图片欧美综合| 无码人妻熟妇av又粗又大| 91精品国产综合久久久久| 亚洲中文无码av在线| 欧美一区二区在线视频| 天天综合网在线| 日韩在线播放av| av手机在线观看| 国产日韩精品在线播放| 欧美精品中文| 黄色一级视频播放| 久久大逼视频| 中文字幕一区二区三区人妻在线视频 | 日韩成人在线视频| 欧美一级淫片aaaaaa| 伊人伊人伊人久久| 波多野一区二区| 97久久国产精品| 77thz桃花论族在线观看| 国产成人综合亚洲| 国产日韩三级| 一区二区三区四区五区精品| 国产成人1区| 欧洲国产精品| 亚洲日韩成人| 中文字幕亚洲影院| 国产很黄免费观看久久| 中文字幕 自拍| 国产精品狼人久久影院观看方式| 欧美极品jizzhd欧美18| 午夜久久久久久| jlzzjlzzjlzz亚洲人| 日韩精品一区二区三区视频| www.黄色国产| 亚洲激情视频在线播放| 涩爱av在线播放一区二区| 久久伊人色综合| 福利一区二区免费视频| 日本一区二区免费看| 国产人成精品一区二区三| 无码人妻aⅴ一区二区三区玉蒲团| 欧美经典一区二区三区| www.色国产| 亚洲欧洲在线看| 日本免费中文字幕在线| 日韩美女视频免费在线观看| 老司机精品在线| r级无码视频在线观看| 粉嫩绯色av一区二区在线观看| 日韩av一二区| 国产精品国产三级国产aⅴ原创| 久久青青草原亚洲av无码麻豆| 亚洲国产精品va在看黑人| 国模雨婷捆绑高清在线| 99视频国产精品免费观看| 天美av一区二区三区久久| 国产精品久久久久9999爆乳| 高清免费成人av| 国产中文字幕免费| 精品第一国产综合精品aⅴ| 乱插在线www| 国产精品日本一区二区| 一区在线免费| av无码一区二区三区| 懂色av一区二区三区| 欧美日韩伦理片| 国产精品成人一区二区| 日韩欧美精品一区| www.五月天色| 亚洲国产一区二区在线播放| 蜜桃视频在线观看www| 68精品久久久久久欧美 | 亚洲日本欧美日韩高观看| 久久91导航| 99理论电影网| 亚洲二区在线| 亚洲日本japanese丝袜| 性中国古装videossex| 久久精品国内一区二区三区| 日韩网站在线播放| 色偷偷成人一区二区三区91| 亚洲综合图片网| 夜夜躁日日躁狠狠久久88av| 久久久免费人体| 精品视频一区二区| 视频一区在线播放| 高清中文字幕mv的电影| 午夜精品久久久久久久久| 欧美视频在线观看一区二区三区| 国产精品一品视频| 国内精品一区二区三区四区| 一区二区冒白浆视频| 禁果av一区二区三区| 丰满少妇在线观看| 成人欧美一区二区三区白人| 国产网站在线看| 亚洲精品午夜精品| 粉嫩av一区二区三区四区五区| 日日噜噜夜夜狠狠久久丁香五月| 成a人片国产精品| 色婷婷精品久久二区二区密| 精品91视频| 国产综合精品在线| 日韩欧美一二三四区| 丁香六月综合| 狠狠色噜噜狠狠色综合久 | 国产三级精品三级在线专区| 一区二区日韩视频| 欧美亚洲视频一区二区| 久久亚洲专区| 中文字幕5566| 精品日本一线二线三线不卡| 亚洲电影有码| 日韩精品欧美一区二区三区| 美女久久一区|