非常重要,便于项目大局观,使用es7的 async和await

如何将小程序内置非promise API转换为promise

这里是我封装的一个wx.request函数如何将wx.request转换成promise对象呢?

转换的方法

创建一个文件夹放入代码,回到你需要引入的地方引入即可

const promisic = function (func) {return function (params = {}) {return new Promise((resolve, reject) => {const args = Object.assign(params, {success: (res) => {resolve(res);},fail: (error) => {reject(error);}});func(args);});};
};

在实战项目中使用

import { config } from '../config/config'
import { promisic } from './util'
class Http {//如何让小程序返回promise对象static async request({ url,//callback,加上async 和 await 可以当作是同步函数的调用method = "GET"}) {//把结果return回去return  await promisic(wx.request) ({url: `${config.apiBaseUrl}${url}`,method//使用promise就不用使用回调success// success: res => {//   callback(res.data)// }})}
}// wx.request
// 照常传参
// promistic(wx.request)({//     url: '',
//     data: {//     }
// })export {Http
}

检验是否封装http请求成功并返回promise对象

该函数十分重要可以将所有wx开头的函数全部转换为promise对象便于使用async 和 await来编程 非常有利于后期项目的维护和迭代

在编译前请勾选上微信开发者工具中的增加编译这样才能支持es7的async和await

如何将小程序内置非promise API转换为promise对象(风袖小程序的学习)相关推荐

  1. 微信小程序判断服务器返回值,让微信小程序内置函数返回promise的方法

    Promise API const promisic = function (func) { return function (params = {}) { return new Promise((r ...

  2. 【疯狂诗词大会小程序2.0】功能模块+前端+诗词答题小程序+内置数千道题目+开箱即用

    源码简介与安装说明: 模块介绍: 诗词答题小程序,支持单项选择题.文字线索题.看图猜诗词.读诗句猜谜等题目类型. 内置数千道题目,开箱即用.随机出题,先易后难. 诗词同步学,每一道诗题都配备了优质的诗 ...

  3. 1.1小程序内置tabbar和自定义tabbar区别

    文章目录 内置tabbar 自定义 tabbar 创建文件夹 custom-tab-bar 发现小程序自定义tabBar切换颜色总是比点击慢一步 switchtab报错"switchTab: ...

  4. h5学习笔记:小程序内置扫码获取普通二维码链接参数

    连续加班一个月,已经有点吐血.趁今天空闲继续记录一些笔记.之前做的网站和小程序现在可以记录一些笔记出来总结. 今天做小程序帮助一个客户加了扫码功能.微信小程序提供了这个内置扫码的功能.这个函数简单而且 ...

  5. 如何将现有的回调API转换为Promise?

    本文翻译自:How do I convert an existing callback API to promises? I want to work with promises but I have ...

  6. 微信小程序例子——打开微信小程序内置地图

    1.效果展示 2.关键代码 .wxml布局文件代码 打开地图 .js逻辑文件代码 Page({ openMap:function(){ wx.getLocation({ type: 'gcj02', ...

  7. 超级电容怎么才能把内阻做小_内置超级电容汽车熄火仍可工作,韩国AHL车载无线充内藏重器...

    近期充电头网拿到AHL一款车载无线充电套装,包括数据线.固定架和车载无线充电器.产品支持10W无线充电,且适用于大多数车型.此外还设有感应功能,夹臂可自动张开收缩,让放置手机变得更加方便.而且夹臂以及 ...

  8. java内置_自包含的应用程序,内置Java

    我已经看过几篇在Java 9中简要提到自包含应用程序的在线演示文稿,但我有一个问题需要我解决. 使用新模块系统,您现在只允许包含运行应用程序所需的最少代码.但是,希望运行应用程序的系统是否仍需要JRE ...

  9. 【小程序基础】小程序内置组件

最新文章

  1. 数位DP 不断学习中。。。。
  2. MySQL长途售票系统_PHP+MySQL长途客用汽车票订票系统的设计与实现
  3. smart pointer in gamedev
  4. vue-cli 中使用 less 插件
  5. WPF 右下角弹窗的简单实现
  6. Settings【学习笔记05】
  7. android多个水波球,android球形水波百分比控件代码
  8. css改变滚动条样式
  9. 《Essential C++》读书笔记 之 基于对象编程风格
  10. 【matlab】元胞数组(使用celldisp显示元胞数组)
  11. pythonmkdir语法错误_Python mkdir一个有难度的问题
  12. 零食店投资?市场成本风险分析
  13. 视频教程-ArcGIS开发arcpy教程-其他
  14. matlab点扩散函数代码,点扩散函数(Point Spread Function)
  15. 03前端-05 JS提升
  16. 零雨其蒙:Practicing Test-Driven Development by Example Using Delphi
  17. 10098 全排列水题
  18. python 脚本 将一个文件夹下的所有文件遍历替换某些内容(将简体变为繁体)
  19. 机器学习经典总结---入门必读----心血总结
  20. [读后感]从Code Review 谈如何做技术

热门文章

  1. 项管行知04--项目章程
  2. Android自定义控件:NestedScrolling实现仿魅族flyme6应用市场应用详情弹出式layout
  3. 室内全景图数据集的设计及制作流程
  4. 前端 day02 CSS
  5. MySQL中建表时的int(m)中的m代表什么意思?
  6. 使用yum安装java
  7. 花房集团CEO于丹内部信:上市即暴富年代已一去不复返
  8. php后台视频教程,php实战开发电商后台视频教程 共6章
  9. python实例100例百度文库-18个Python爬虫实战案例(已开源)
  10. 爬虫系列之爬取1688