一级片大奶子_色又黄又爽18禁免费视频_热久久久久久久_久久久精品一区二区_日韩av不卡在线播放_精品国内自产拍在线观看视频

商城系統(tǒng) 注冊(cè)

把微信小程序異步API轉(zhuǎn)為Promise,簡(jiǎn)化異步編程,告別層層回調(diào) ...

2020-07-14|HiShop
導(dǎo)讀:把微信小程序異步API轉(zhuǎn)為Promise,簡(jiǎn)化異步編程,告別層層回調(diào) ...  把微信小程序異步API轉(zhuǎn)化為Promise。用Promise處理異步操作有多方便,誰用誰知道...

 把微信小程序異步API轉(zhuǎn)為Promise,簡(jiǎn)化異步編程,告別層層回調(diào) ...  把微信小程序異步API轉(zhuǎn)化為Promise。用Promise處理異步操作有多方便,誰用誰知道。

  微信官方?jīng)]有給出Promise API來處理異步操作,而官方API異步的又非常多,這使得多異步編程會(huì)層層回調(diào),代碼一復(fù)雜,回調(diào)起來就想砸電腦。

  于是寫了一個(gè)通用工具,把微信官方的異步API轉(zhuǎn)化為Promise,方便處理(多)異步操作。

  你可以這樣用:

  準(zhǔn)備轉(zhuǎn)化后的方法并暴露出

  // /utils/wx-promise.js

  import toPromise from '/module/to-promise/src/index'

  const toPromiseWx = toPromsie(wx)

  export const request = toPromiseWx('requset')

  export const getLocation = toPromiseWx('getLocation')

  export const setStorage = toPromiseWx('setStorage')

  //export 其他你項(xiàng)目中可能用到的異步API

  在其他文件中使用

  在App.js中使用:

  //App.js

  import { request } from './utils/wx-promise.js'

  App({

  onLanuch: () => {

  request({ url: 'http://api.yourapi.com' })

  .then(() => {

  //成功后處理

  })

  .then(() => {

  //失敗后處理

  })

  }

  })

  在其他page中使用:

  // /page/index.js

  import { request, setStorage } from '../utils/wx-promise.js'

  page({

  onLoad: () => {

  request({ url: 'http://api.yourapi.com' })

  .then(() => {

  //成功后處理

  })

  .then(() => {

  //失敗后處理

  })

  },

  onHide: () => {

  setStorage({

  key: 'yourkey',

  data: 'yourvalue'

  })

  .then(() => {

  //保存成功

  })

  .then(() => {

  //保存失敗

  })

  }

  })

  項(xiàng)目地址:to-promise

  其他更多更具體用法,直接粘貼README了,如下。

  to-promise是一個(gè)轉(zhuǎn)換微信小程序異步API為Promise的一個(gè)工具庫(kù)

  優(yōu)點(diǎn):

  避免小程序異步編程多次回調(diào)帶來的過多回調(diào)導(dǎo)致邏輯不清晰,篇幅過長(zhǎng)等問題。

  借助于Promise異步編程特點(diǎn),支持鏈?zhǔn)讲僮鳎裢揭粯訉懏惒健?/p>

  轉(zhuǎn)化后得API幾乎和微信官方API一樣。

  使用方法:

  安裝

  使用git安裝到項(xiàng)目根目錄/module,

  git clone https://github.com/tornoda/to-promise

  或直接下載放入項(xiàng)目目錄下如:/module

  在需要用到的地方引入

  import toPromise from '/module/to-promise/src/index'

  綁定微信全局對(duì)象(wx)到函數(shù),以便可以取到微信得API

  const toPromiseWx = toPromise(wx)

  開始轉(zhuǎn)化你需要得異步API

  //apiName為微信異步方法名,如對(duì)wx.request()進(jìn)行轉(zhuǎn)化

  const request = toPromiseWx('request')

  //直接使用request方法

  舉例:

  import toPromise from '/module/to-promise/src/index'

  //轉(zhuǎn)換wx.getStorage()

  const getStorage = toPromsie(wx)('getStorage')

  //使用

  getStorage({ key: 'test' })

  .then(

  (res) => {

  //res的值與wx.getStorage({ success: (res) => {} })中的res值一樣

  //res = {data: 'keyValue'}

  console.log(res.data)//控制臺(tái)打印storage中key對(duì)于的value

  return res.data//如果需要繼續(xù)鏈?zhǔn)秸{(diào)用轉(zhuǎn)化后的api,需要把值顯示返回

  },

  (err) => {

  //err的值與wx.getStorage({ success: (err) => {} })中的err值一樣

  throw err

  }

  )

  關(guān)于Promise對(duì)象的使用,請(qǐng)參見Promise

  API

  toPromise(global)

  參數(shù)

  (wx): wx全局對(duì)象。即toPromise(wx)這樣調(diào)用

  返回

  (function): 參數(shù)(string)為小程序異步方法名。返回一個(gè)函數(shù),該函數(shù)的參數(shù)與返回值如下。

  參數(shù):(object) 對(duì)應(yīng)wx小程序異步方法中的參數(shù)(OBJECT)除去success與fail后的對(duì)象。例如:

  官方APIwx.getLocation(OBJECT)的OBJECT接受如下屬性: type altitude success fail complete,那么去除(success fail)后為:type altitude complete。

  返回: (pending Promsise) 返回一個(gè)未知狀態(tài)的Promise對(duì)象,在該對(duì)象上調(diào)用.then(onFulfilled, onRejected)方法來處理對(duì)用成功或失敗的情況。onFulfilled為請(qǐng)求成功后調(diào)用的回調(diào)函數(shù),參數(shù)為返回值,onRejected為請(qǐng)求失敗后的回調(diào)函數(shù),參數(shù)為返回的錯(cuò)誤信息。

  簡(jiǎn)單點(diǎn)來說,

  const getLocation = toPromiseWx('getLocation')

  getLocation({

  type: 'wgs84',

  altitude: true,

  complete: () => { console.log('to-promsise is awesome') }

  }).then(

  (res) => {//dosomething if succeed},

  (err) => {//dosomething if failed}

  )

  與下面官方調(diào)用等價(jià)

  wx.getLocation({

  type: 'wgs84',

  altitude: true,

  complete: () => { console.log('to-promsise is awesome') },

  success: (res) => {//dosomething if succeed},

  fail: (err) => {//dosomething if failed}

  })

  應(yīng)用場(chǎng)景舉例

  單次異步調(diào)用,參見API最后

  多次異步操作調(diào)用,且每下一次調(diào)用都會(huì)用到前一次返回的結(jié)果。

  如:獲得GPS信息后,根據(jù)GPS信息獲取天氣信息,取得天氣信息后立馬存入localStorage。

  import toPromise from '/module/to-promise/src/index'

  const toPromiseWx = toPrmise(wx)

  //方法轉(zhuǎn)換

  const getLocation = toPromiseWx('getLocation')

  const request = toPromiseWx('request')

  const setStorage = toPromiseWx('setStorage')

  //鏈?zhǔn)綄戇壿?/p>

  getLocation() //獲取位置信息

  .then(

  (res) => { //位置獲取成功后的處理,res為返回信息

  //處理res后返回有用的信息,這里直接返回res,用于演示

  return Promise.resolve(res) //必須

  },

  (err) => { //位置獲取失敗后的錯(cuò)誤處理,err為錯(cuò)誤信息

  //錯(cuò)誤處理

  return Promise.resolve(err) //必須

  }

  )

  .then(

  (res) => { //根據(jù)位置獲取成功后的信息,請(qǐng)求天氣信息

  return request({ url: 'http://api.weather.com'}) //返回一個(gè)pending 狀態(tài)下的Promise

  }

  )

  .then(

  (res) => { //天氣獲取成功后存入storage的回調(diào)

  setStorage({

  key: 'test',

  data: 'res'

  })

  },

  (err) => {

  //天氣獲取失敗后執(zhí)行這里,err為獲取天氣失敗的錯(cuò)誤信息

  }

  )

  如果使用官方的API寫上述邏輯,代碼是這樣的:

  wx.getLocation({

  success: (res) => {

  //some transformation with res

  wx.request({

  url: 'http://api.weather.com',

  success: (res) => {

  wx.setStorage({

  success: () => {

  //do something

  },

  fail: (err) => {

  //do something if err happend

  }

  })

  },

  fail: (err) => {

  //do something if err happend

  }

  })

  },

  fail: (err) => {

  //do something if err happend

  })

  //層層回調(diào),如果邏輯再?gòu)?fù)雜點(diǎn),可能就瘋了


電話咨詢 預(yù)約演示 0元開店
主站蜘蛛池模板: 国产成人=av在线播放|亚洲网免费|凸凹视频在线|免费网站h|一区二区三区在线播放|麻豆网视频免费观看 | #NAME?|欧美成人免费网站|亚洲成人天堂|日本一级视频在线观看|VR欧美乱强伦XXXXX|国产国语对白露脸正在播放 | 49vv亚洲|成人一级网站|九月婷婷人人澡人人添人人爽|国产精品69毛片高清亚洲|五月婷婷天堂|特黄=a级毛片免费视频 | 在线观看国产免费|亚洲免费成人在线视频|日韩免费一级毛片|国产综合久久|爱情岛论坛亚洲品质自拍hd|欧美成人免费一区二区 | 99爱在线免费观看|亚洲日韩欧美精品国产|色婷婷偷拍|日本人jizz亚洲人|国产在线线精品宅男网址|午夜内射中出视频 | 日本欧美在线观看视频|国产免费观看黄=aV片|男女猛烈无遮挡免费视频|久久久久久18|四虎最新紧急更新地址|久久丝袜 | 少妇被躁爽到高潮无码文|人人看人人摸|99国产欧美久久久精品|亚洲精品无码一区二区三区久久久|国产91导航|毛片在线网址 | 亚洲午夜久久久综合37日本|欧美高潮抽搐喷水大叫|啪一啪鲁一鲁|亚洲欧洲美洲无码精品V=a|亚洲高清视频网站|三级黄色影院 | 伊人偷拍视频|久久久久99精品成人片三人毛片|午夜影院中文字幕|J=aP=aNESE国产中文在线观看|久久国产精品福利二区三区|yy8090新视觉午夜毛片 | 激情婷婷开心五月综合|国产区免费视频|欧美精品一区二区三区免费播放|亚洲一级片免费看|国产精品边做奶水狂喷无码|久久8精品 | 小早川怜子痴女在线精品视频|国产+免费+无码|#NAME?|午夜无码成人免费视频|国产精品成人一区视频网站|色综合桃花网 亚洲女人天堂在线|四虎福利影院|日韩视频在线观看视频|欧美日韩成人一区|黑人异族巨大巨大巨粗|超碰在线c=ao | #NAME?|国产成人免费高清视频|牛牛=a级毛片在线播放|黄晓明蒋欣新剧《潜行者》|国产成人艳妇=a=a视频在线|91久久精品www人人做人人爽 | 剑来高清视频在线观看|欧美一区二区日韩一区二区|亚洲欧美日韩成人高清在线一区|国模GOGO无码人体啪啪|加勒比东京热无码国产=aV|亚洲色图在线观看 | 免费国产网站|秋霞午夜一区二区三区视频|99热在线看|日韩精品久久一区二区|午夜看一级毛片|天天鲁在视频在线观看 | 日本亚洲欧洲精品|19禁无遮挡啪啪无码网站性色|久久亚洲=aⅴ无码精品色午夜|91tv永久入口|91九色鹿精品国产综合久久香蕉|91亚洲福利 | 99久久无码一区人妻|亚洲第一欧美|欧美一级欧美一级高清|99热这里只有精品9|欧美成人=a猛片在线观看|国产日产欧产美韩系列麻豆 | 日日婷婷夜日日天干|精品一区二区观看|亚洲热热色|一区二区欧美国产|自拍一二区|毛片无限看 | 男女做=aj视频免费的网站|国产在线观看=av|亚洲国产精品嫩草影院|欧美久久激情|国产网站色|岛国视频在线免费观看 | 女同互慰高潮呻吟免费播放|精品视频在线99|国产美女视频免费的|国产另类ts人妖高潮|欧美黄色片免费观看|一起操视频在线观看 | 亚州性色|国产的欧美一区二区三区|中国毛片视频|久久艹在线|国产在线www|久久久精品日韩免费观看 | 国产操人视频|大尺度无遮挡激烈床震老领导小说|亚洲熟妇色XXXXX亚洲|800=av.com我要打飞机|中文高清=av|91在线看=a | 国产人无码=a在线西瓜|午夜=a成v人精品|日本一区二区三区不卡免费|午夜裸体一级视频|穿书自救指南在线观看|欧美精品六区 | 亚洲精品成人|疯狂做受XXXX欧美老人|亚洲精品视频在线观看免费|亚洲一区二区三区在线播放|在线日韩欧美|东京热无码人妻系列综合网站 | 扒开双腿吃奶呻吟做受视频|日本视频在线观看一区二区三区|国产欧美日韩精品在线一区|国产精品色婷婷亚洲综合看|午夜专区|亚洲人成人毛片无遮挡 | 亚洲乱熟|中文综合在线观|国产精品一区二区在线观看|免费看成人=aV片|在线看=a视频|国产成人影院在线观看 | 国产成人=av在线播放|亚洲网免费|凸凹视频在线|免费网站h|一区二区三区在线播放|麻豆网视频免费观看 | 久热中文字幕无码视频|波多野结衣桃色视频|国产成人精品日本亚洲91桃色|91精品国产调教在线观看|人妻的渴望波多野结衣|黄色=a一级毛片 | 5555www色欧美视频|免费裸体视频女性|三级成人毛片|日韩日韩日韩日韩日韩|日韩亚洲国产高清免费视频|#NAME? | 国产乱人乱精一区二区视频|97性无码区免费|色七七在线|亚洲=aV无码区在线观看东京热|免费看啪啪人=a片=a=a=a片|乱老熟女一区二区三区 | 午夜影院在线播放|色姑娘天天综合|亚洲=av国产=av综合=av|#NAME?|亚洲毛片一区二区三区|#NAME? | 国产亚洲精品一区二区三区|狠狠插综合网|把女人弄爽特黄=a大片3人|国产精品99久久久久久人免费|永夜星河免费在线观看|日日做=a爰片久久毛片=a片英语 | 欧美人与动人物牲交|国产精品一区hongkongdoll|97国产爽爽爽久久久|久久69国产一区二区蜜臀|成人免费在线视频网址|久久久久国产精品一区二区 | 日本三区|又大又黄又粗高潮免费|国产成年女人免费视频播放=a|国产美女视频国产视视频|欧美成综合|国产成人=av一区二区三区 | 国产人妖在线|国产午夜福利在线播放|亚洲国产成人精品久久久国产成人|高柳の肉嫁动漫在线播放|日韩久久精品一区二区三区|精品偷自拍另类在线观看 | 最近中文字幕高清免费大全1|久久久久国产亚洲|日本free护士videosxxxx|国产日产高清欧美一区二区三区|免费做爰猛烈吃奶摸视频在线观看|日本无遮挡在线观看 | 日韩三级在线免费观看|久久艹艹|色爱综合另类图片=av|国内久久精品视频|xx69在线观看|亚洲国产一区二区精品 | 国产精品久久久久久久浪潮网站|亚洲青草视频|乌克兰18极品XX00喷水|#NAME?|亚洲综合在线一区二区三区|国产超碰人人做人人爱ⅴ=a 91精品一区二区三区在线|情侣偷拍在线一区|天堂网在线.www天堂|成人=a毛片免费全部播放|日本国产一区二区|美女被日在线观看 | gogogo高清在线观看中文版二|色老板在线永久免费视频|国产精品美女自拍|不卡网免费理论影院|97碰在线视频|丰满岳乱妇三级高清 | 夜夜躁狠狠躁夜躁2021|欧洲成人在线观看|中国少妇饥渴XXXXX|人妻巨大乳挤奶水HD免费看|视频二区在线播放|九九热精品在线视频 | 成人精品视频一区二区|综合精品久久|久久www视频|绿巨人www在线观看|免费看=a=a=a=a=a级少淫片|91tv在线播放网站 | 日日操夜夜撸|日本69xxxxxxxx|性欧美videos另类hd|日本一区二区三区久久久久久久久不|国产午夜福利精品一区|久久国产亚洲精品赲碰热 |