精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

97超碰在线免费观看| 免费黄色日本网站| 亚洲精华国产精华精华液网站| 亚洲一级网站| 精品在线小视频| 99re精彩视频| 国产理论电影在线| 国产三级精品三级在线专区| 亚洲japanese制服美女| 中日韩精品视频在线观看| 狠狠色丁香婷婷综合影院| 91精品国产免费| 日韩av一二三四| 日本一本在线免费福利| 国产欧美精品日韩区二区麻豆天美| 亚洲一区二区免费在线| 日本熟女毛茸茸| 综合天堂久久久久久久| 在线观看日韩av| 扒开伸进免费视频| 精品久久毛片| 色综合色综合色综合色综合色综合 | 熟女视频一区二区三区| 久草视频视频在线播放| 国产iv一区二区三区| 国产精品美女久久久久久免费| 精品97人妻无码中文永久在线| 欧美精品一区二区三区中文字幕| 欧美精品一区二| 超碰在线超碰在线| 精品国产黄a∨片高清在线| 欧美性色19p| 成人免费a级片| 国产三级在线观看| 成人午夜免费电影| 成人精品视频在线| 中文字幕人成人乱码亚洲电影| 在线 亚洲欧美在线综合一区| 一个人看的www久久| 岛国av免费观看| 成人豆花视频| 欧美写真视频网站| 国产欧美日韩网站| 在线免费av导航| 中文字幕亚洲精品在线观看| 茄子视频成人在线观看 | 国产精品三区四区| 国产又大又黑又粗| 久久国产直播| 91国内免费在线视频| 玖玖爱这里只有精品| 久久av电影| 亚洲第一视频网站| 九色91porny| 99亚洲男女激情在线观看| 色狠狠一区二区| 成人一对一视频| 美女网站视频在线| 亚洲精品视频在线观看免费 | 第一页在线视频| 日韩在线激情| 在线播放视频一区| 亚洲精品久久久中文字幕| 日本免费久久| 91精品福利在线| 亚洲精品乱码久久久久久自慰| h片在线观看| 亚洲午夜在线观看视频在线| 99在线观看视频免费| 性欧美video高清bbw| 国产精品美女久久久久av爽李琼| 欧美另类一区| 亚洲 小说区 图片区 都市| av不卡免费在线观看| 国产一区二区高清视频| 西西人体44www大胆无码| 9色porny自拍视频一区二区| 精品无码久久久久国产| 天堂中文在线8| 成人福利在线看| 国产美女精品在线观看| 欧美一级片免费| 99视频国产精品| 你懂的网址一区二区三区| 风流少妇一区二区三区91| 成人18视频在线播放| 春色成人在线视频| 深夜福利在线看| 国产亚洲欧美在线| 偷拍视频一区二区| 超碰最新在线| 亚洲最新视频在线播放| 欧美成人三级在线视频| 亚洲日本天堂| 欧美三区免费完整视频在线观看| 成人综合久久网| 1769国产精品视频| 精品中文字幕久久久久久| 国产三级av在线播放| 日韩精品久久久久久久电影99爱| 日韩亚洲成人av在线| 欧美成欧美va| 亚洲欧美日韩专区| 国产欧美一区二区白浆黑人| 亚洲第一天堂影院| 久久综合给合久久狠狠狠97色69| 日韩欧美亚洲在线| www.欧美日本韩国| 色综合天天综合网天天狠天天| 狠狠操狠狠干视频| 精品久久ai电影| 色偷偷88888欧美精品久久久| 国产精品久久久精品四季影院| 亚洲国产日韩在线| 国产精品免费一区| 日本成人动漫在线观看| 国产欧美日韩三级| 2019日韩中文字幕mv| 91精品国产66| 亚洲国产黄色片| 欧美乱大交做爰xxxⅹ小说| 午夜日韩激情| 国产91色在线免费| 免费国产羞羞网站视频| 国产精品天美传媒沈樵| 黄网站欧美内射| 亚洲精品伊人| 亚洲午夜av电影| 久久国产在线观看| 美女视频黄 久久| 国产综合精品一区二区三区| 毛片在线看网站| 黑人巨大精品欧美一区免费视频 | 青娱乐在线视频免费观看| 在线亚洲伦理| 成人动漫在线视频| gogogo高清在线观看免费完整版| 亚洲成人免费影院| 亚洲男人天堂2021| 久久国产电影| 日韩美女在线播放| 三级视频在线看| 亚洲乱码国产乱码精品精98午夜| chinese少妇国语对白| 精品无人区一区二区| 美女黄色丝袜一区| 一区二区日韩视频| 国产欧美日韩卡一| 国产成人av影视| 美女亚洲一区| 久久91亚洲精品中文字幕| 国产成人精品一区二区色戒| 26uuu亚洲综合色| a级黄色一级片| 国产ts一区| 欧美极品少妇xxxxⅹ裸体艺术| 国产精品嫩草影院精东| 亚洲欧洲av在线| 在线观看国产中文字幕| 国产精品一在线观看| 国产91精品青草社区| 欧美一区二不卡视频| 亚洲最大色网站| 佐佐木明希电影| 欧美视频导航| 国产高清精品一区二区| 日韩av官网| 精品欧美久久久| 久久无码精品丰满人妻| 不卡免费追剧大全电视剧网站| 黄色一级大片免费| 高清欧美性猛交xxxx黑人猛| 午夜精品久久久久久久男人的天堂 | 亚洲午夜91| 国产一级二级三级精品| 女厕盗摄一区二区三区| 亚洲精品视频网上网址在线观看| 日韩成人免费在线观看| 久久久久久久综合日本| 999在线免费视频| 日韩av密桃| 亚洲a一级视频| 免费电影网站在线视频观看福利| 亚洲福利视频网站| 中文字幕亚洲乱码熟女1区2区| 国产亚洲污的网站| 久久撸在线视频| 欧美久久一级| 久久66热这里只有精品| 日韩三级影视| 久久精品电影一区二区| 亚洲第一成人av| 精品国产31久久久久久| a级大片在线观看| 免费成人在线观看| 国产在线xxxx| 欧美三级午夜理伦三级小说| 日韩av手机在线| 91社区在线高清| 精品久久久久久久人人人人传媒 | 一区二区三区四区亚洲| 久久国产免费视频| 国产精品嫩草99av在线| 日本在线播放不卡| 精品视频一区二区三区| 欧美性资源免费| 午夜伦理在线| 亚洲国产小视频在线观看| 少妇又紧又色又爽又刺激视频| 亚洲欧美另类综合偷拍| jlzzjizz在线播放观看| 久久精品国产久精国产| 欧美午夜性视频| 日韩国产欧美| 黄色小网站91| 欧美黑粗硬大| 欧美一区二区三区免费观看| 日本福利片高清在线观看| 欧美日韩久久一区| 久久久久久久久久久影院| 中文字幕一区av| 国产成人av一区二区三区不卡| 精品一区二区影视| 成年人免费在线播放| 欧美一区国产在线| 日韩精品国内| 欧美a大片欧美片| 亚洲一区国产精品| 91精品xxx在线观看| 久久久久在线观看| 免费黄色电影在线观看| 亚洲美女av黄| 风流少妇一区二区三区91| 91.成人天堂一区| 久草手机在线观看| 亚洲综合免费观看高清完整版| 国产18无套直看片| 久久久久久久久久久电影| 国产香蕉精品视频| 国产毛片一区二区| 亚欧美在线观看| 日韩精品电影在线| 国产男女在线观看| 黄色在线一区| 人妻av无码专区| 黄色亚洲在线| 免费人成自慰网站| 欧美.www| 国产人妻互换一区二区| 99精品在线观看| 伊人久久大香线蕉午夜av| 青青草91久久久久久久久| 欧美日韩免费观看一区| 全国精品免费看| 久久99精品久久久久久水蜜桃| 中文字幕日韩在线| 国产精品视频500部| 欧美黄色一级| 99se婷婷在线视频观看| 国产亚洲高清一区| 91久久久在线| 四虎精品一区二区免费| 国产日韩在线看| 六九午夜精品视频| 国产乱肥老妇国产一区二| 日韩免费小视频| 国产精品男人的天堂| 亚洲a∨精品一区二区三区导航| 国产成人免费av电影| 第84页国产精品| 人人澡人人澡人人看欧美| 亚洲优女在线| 热草久综合在线| 欧美日韩国产网站| 91精品国产综合久久男男 | 俄罗斯精品一区二区三区| 国模大尺度视频一区二区| 91精品免费视频| 日韩在线网址| 国产精品香蕉视屏| 在线亚洲a色| 一区一区视频| 欧美午夜久久| 久久久精品在线视频| 久久久噜噜噜久久狠狠50岁| 欧美精品性生活| 美女网站色91| 午夜影院免费观看视频| 高清在线成人网| 91亚洲一线产区二线产区| 久久蜜桃av一区二区天堂| 女人十八毛片嫩草av| 亚洲日本中文字幕区| 国产五月天婷婷| 色av成人天堂桃色av| 国产同性人妖ts口直男| 亚洲国产天堂久久综合网| 国产精品久久一区二区三区不卡| 伊人青青综合网站| 免费高清在线观看| 97久久精品人搡人人玩| 国产精品久久久久av电视剧| 亚洲最大av网| 亚洲宅男网av| 浴室偷拍美女洗澡456在线| 日韩视频久久| 污污网站免费观看| www.在线欧美| 久久只有这里有精品| 最新中文字幕一区二区三区| 日韩av一区二区在线播放| 欧美亚洲国产一卡| 亚洲精品97久久中文字幕无码| 亚洲女人天堂av| av免费在线免费| 日韩美女中文字幕| 亚洲91网站| 午夜欧美性电影| 在线日本高清免费不卡| 人妻少妇被粗大爽9797pw| 成人午夜视频在线| av在线免费播放网址| 天天色天天操综合| 99在线精品视频免费观看软件| 亚洲欧美在线第一页| 尤物视频在线看| 国产美女91呻吟求| 亚欧洲精品视频在线观看| 超碰97在线看| 久久在线精品| 成人啪啪18免费游戏链接| 中文字幕在线不卡| 久久国产视频精品| 精品区一区二区| www久久日com| 国产欧美日韩91| 狠狠色丁香婷婷综合影院| av免费观看国产| 国产精品一区二区无线| 国产女片a归国片aa| 欧美精品在线观看播放| 国产免费视频在线| 欧美一级片一区| 老司机成人在线| 久久99久久99精品| 国产一区三区三区| 日本二区三区视频| 欧美午夜激情在线| 特级丰满少妇一级aaaa爱毛片| 欧美xxxx做受欧美| www一区二区三区| 一区二区三区四区欧美日韩| 日韩电影在线免费观看| 丰满少妇高潮一区二区| 欧美日韩一区二区三区| 天天综合网在线| 亚州国产精品久久久| 欧美一区一区| 18黄暴禁片在线观看| 成人在线视频一区二区| 妺妺窝人体色www婷婷| 日韩一级大片在线观看| 91高清在线观看视频| 亚洲free性xxxx护士hd| 亚洲欧洲日韩| 红桃视频一区二区三区免费| 亚洲激情在线播放| 国产福利小视频| 国内精品免费午夜毛片| 欧美亚洲色图校园春色| 免费观看日韩毛片| 久久精品人人做人人爽人人| 国产精品露脸视频| 色哟哟网站入口亚洲精品| 欧美男男gaygay1069| 操bbb操bbb| 97精品国产露脸对白| 麻豆成人免费视频| 中文字幕日韩av综合精品| 欧美亚洲人成在线| 91看片淫黄大片91| 成人免费av在线| 日本一本在线观看| 日韩有码视频在线| 视频国产精品| 青青青青在线视频| 久久久久久9999| 怡红院成永久免费人全部视频| 久久精品视频中文字幕| 一区视频网站| 亚洲色欲综合一区二区三区| 日本一二三四高清不卡| 亚洲视频久久久| 国内精品视频一区| 欧美日韩激情| 午夜免费福利视频在线观看| 亚洲精品视频一区| 日本福利在线观看| 91九色单男在线观看| 99精品视频免费全部在线|