亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解將微信小程序接口Promise化并使用async函數

 更新時間:2019年08月05日 15:12:30   作者:Peggy7  
這篇文章主要介紹了詳解將微信小程序接口Promise化并使用async函數,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

小程序一直到現在接口還是和剛開始一樣使用的回調函數的方式,如果想在小程序中不使用框架的情況下使用Promise+Async怎么辦呢?

2019最新解決方案

1. 將接口Promise化

首先建一個文件wxPromise.js

const promisify = name => option => {
 return new Promise((resolve, reject) =>
  wx[name]({
   ...option,
   success: resolve,
   fail: reject,
  })
 )
}

const wxPro = new Proxy(wx, {
 get(target, prop) {
  return promisify(prop)
 }
})

export default wxPro

2.使用regeneratorRuntime讓小程序兼容async函數

github項目regenerator里下載packages/regenerator-runtime/runtime.js。

如果是最新版本的話引入后會報一個錯誤:

Function is not a function....

需要手動修改源碼:

去掉源碼最后的try-catch語句,并將開頭的var runtime改成var regeneratorRuntime。

如果不想修改則可以直接下載0.13.1版本的源碼。

最后

在想使用的頁面里引入:

import wxPro from './utils/wxPromise.js'
import regeneratorRuntime from './utils/runtime.js'

//app.js
App({
 async onLaunch() {
  // wxPro.login().then((res) => {
  //  console.log(res)
  // })
  const result = await wxPro.login()
  console.log(result)
 },
 globalData: {
  userInfo: null
 }
})

這樣就可以了,唯一有點麻煩的是每個要用的頁面都要引入一次。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • three.js實現3d全景看房示例

    three.js實現3d全景看房示例

    這篇文章主要為大家介紹了three.js實現3d全景看房示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • JavaScript實現級聯菜單的方法

    JavaScript實現級聯菜單的方法

    這篇文章主要介紹了JavaScript實現級聯菜單的方法,涉及javascript頁面元素操作的相關技巧,需要的朋友可以參考下
    2015-06-06
  • Javascript網頁搶紅包外掛實現分享

    Javascript網頁搶紅包外掛實現分享

    本篇文章通過一個搶紅包的網頁實例講述了Javascript書寫的原理以及思路,有興趣的朋友參考學習下。
    2018-01-01
  • setTimeout學習小結

    setTimeout學習小結

    本文主要介紹了setTimeout原理;setTimeout(function(){..},0)的意義;setTimeout的this指向和參數問題。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • js實現翻牌小游戲

    js實現翻牌小游戲

    這篇文章主要為大家詳細介紹了js實現翻牌小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • JavaScript中獲取時間的函數集

    JavaScript中獲取時間的函數集

    這篇文章主要介紹了JavaScript中獲取時間的函數集,通過實例代碼給大家講解,非常詳細,感興趣的朋友一起學習吧
    2016-08-08
  • bootstrap paginator分頁插件的兩種使用方式實例詳解

    bootstrap paginator分頁插件的兩種使用方式實例詳解

    Bootstrap Paginator是一款基于Bootstrap的js分頁插件,下面通過本文給大家介紹bootstrap paginator分頁插件的兩種使用方式,一起看看吧
    2017-11-11
  • Javascript限制網頁只能在微信內置瀏覽器中訪問

    Javascript限制網頁只能在微信內置瀏覽器中訪問

    最近正在開發(fā)一個微信公眾賬號,其中有一項功能是用戶發(fā)送文字消息給公眾號,然后公眾號返回圖文消息給用戶,用戶再點擊圖文消息即可跳轉到一個網頁鏈接,在微信的內置瀏覽器中打開。
    2014-11-11
  • 淺析js中的浮點型運算問題

    淺析js中的浮點型運算問題

    本篇文章主要是對js中浮點型運算的問題進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • 如何使用50行javaScript代碼實現簡單版的call,apply,bind

    如何使用50行javaScript代碼實現簡單版的call,apply,bind

    這篇文章主要介紹了50行javaScript代碼實現簡單版的call,apply,bind過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08

最新評論