miniprogram-api-promise 只能每个page都要import一次,调用一次promisifyAll吗?

新手上路,请多包涵

miniprogram-api-promise能不能全局配置好,各个page或文件不用引用一次,调用一次promisifyAll(wx, wxp),就能使用wxp对象

阅读 10.1k
4 个回答

没用过你说的这个库,但是我猜你可以写在 app.js 里,把它当作一个全局对象;各个子页面直接 getApp().XXX 就可以访问了。

新建utils/wxp.js文件

import { promisifyAll, promisify } from 'miniprogram-api-promise';

export let wxp = {};

// promisify all wx's api
promisifyAll(wx, wxp)

在其它文件中import引入wxp这个对象

app.js

import {
 promisifyAll,
 promisify
} frm 'miniprogram-api-promise';
App({
 wxp: {},
 onLaunch: function () {
 this.globalData.isIos = wx.getSystemInfoSync().platform !== "ios";

 // 将wx上的方法,转换为wxp行的pr方法
 // promisify all wx's api
 promisifyAll(wx, this.wxp)

 },
 })

index.js

const app = getApp()

Page({
 onLoad(){
 app.wxp.request({
 url: 'https://cnodejs.org/api/v1/topics',
 }).then(res=>{
 console.log(res)
 })
 }
 })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏