网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網

小程序 Promise 連續請求服務器寫法,減少代碼量

發布時間:2018-05-08 14:24 所屬欄目:小程序開發教程

我想要實現的效果是:可以上拉刷新,下拉加載,分別點擊tab都還能夠請求服務器。我想的最好的方法是把日期和月份這2個抽離出來做成一個方法,然后上拉刷新,下拉加載,點擊tab分別調用日期和月份方法即可。我嘗試百度/google,見到最多的鏈式寫法,以獲取用戶數據舉例:

 

				
  1. //這里的操作都是舉例說明。
  2. wxLogin()
  3. .then(=>res{
  4. console.log(res.code)
  5. return wxRequest.getUserOpenId(url, params)//請求獲取用戶ID
  6. })
  7. .then(=>res{
  8. console.log(res.openId)
  9. return wxRequest.getUserPhone());//請求獲取用戶手機
  10. })
  11. .catch()

在index.js頁面 ; getUserOpenId()和getUserPhone()都是封裝在另外一個js里面的。或者是直接getUserMessage().then(res=>).catch();這樣直接獲取用戶數據了。

 

				
  1. wxRequest.getUserMessage()
  2. .then(=>res{
  3. console.log(res.code);
  4. })
  5. .catch()

當然我這樣舉例還是不能說明存在什么問題,那么如果我要像上面圖那樣獲取日期數據,月份數據怎么辦呢?難道按照第一個那樣寫,上拉加載那里寫一堆,下拉刷新那里一堆,切換tab也寫一堆重復的代碼?還是說我管你是上拉刷新,還是下拉加載好,我直接通過一個接口在一起獲取數據?所以我通過百度/google到他們寫的還不夠完善(不是寫的不好哈)  我的寫法:

 

				
  1. //我只是抽取我部分代碼來展示
  2. Page({
  3. data:{
  4.  
  5. },
  6. onLoad: function () {//生命周期
  7. this.readUserMesage();
  8. },
  9. readUserMesage(): function () {//獲取用戶信息,并獲取按日期的數據
  10. this.showLoading();
  11. let parameters = 'user?ptId=aaaaaaaaaaaaaa';
  12. api.getRequest({
  13. parameters: parameters,
  14. }).then(res => {
  15. return this.readDayData(); //獲取日期信息
  16. }).catch(error => {
  17. this.hideLoading();
  18. });
  19. },
  20. readMonthData() {//把月份單獨抽取出來
  21. var url = 'dailypay?xxxxx=aaaa&yyy=bbbbbb';
  22. var parameters = { parameters: url }
  23. return api.getRequest(parameters)//我這里是封裝請求服務器的,注意我加了return
  24. .then(res => {
  25. //這里就可以獲取到返回的res的集合數據
  26. }).catch(error => {
  27. console.log(JSON.stringify(error));
  28. this.hideLoading();
  29. });
  30. },
  31. readDayData() {//把日期單獨抽取出來
  32. var url = 'dailypay?xxxxx=aaaa&yyy=bbbbbb';
  33. var parameters = { parameters: url }
  34. return api.getRequest(parameters)//我這里是封裝請求服務器的,注意我加了return
  35. .then(res => {
  36. //這里就可以獲取到返回的res的集合數據
  37. }).catch(error => {
  38. this.hideLoading();
  39. });
  40. },
  41. onPullDownRefresh() {//下拉刷新
  42. if (this.data.currentIndex == 0) {//如果當前是在日期
  43. this.readDayData();
  44. } else {//如果當前是在月份
  45. this.readMonthData();
  46. }
  47. },
  48. onReachBottom() {//上拉加載
  49. if (this.data.currentIndex == 0) {
  50. this.readDayData();
  51. } else {
  52. this.readMonthData();
  53. }
  54. },
  55. )}

好了,我的方法介紹完成了。這樣做就可以減少代碼量了。



易優小程序(企業版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/24345.html 復制鏈接 如需定制請聯系易優客服咨詢:800182392 點擊咨詢
QQ在線咨詢
AI智能客服 ×