专栏首页LNMP开发那些事微信小程序-使用Promise封装微信请求

微信小程序-使用Promise封装微信请求

打算给公众号加一个微信小程序,正好将开发的过程写一个系列教程,当然,写代码比较快,写文章要跟上写代码实在有点难,所以不见得写的多细致,有相关的问题,欢迎留言。 类似于下载安装开发者工具,我觉得实在没有写的意义,就直接跳过了,本系列所有代码都可以从github直接下载,微信公众号文章内不可以放外部链接,请在公众号页面回复github获取github地址。 本篇主要是开发前封装一个请求工具类,方便以后开发使用。

/    1  Promise   /

音标[ˈprɑ:mɪs]

关于Promise,本身就可以写一篇文章,百度可以找到很多的文章,就不再搬运了,请自行搜索。

预期封装完成以后,可以实现以下方式调用:

request.get('https://laravel-admin/', {
   params: {
       x: 1
   }
}).then(res => {
    // do something
}).catch(error => {
    // do something
})

/    2  实现代码   /

const request = {}

/**
 * 配置项
 * @property object options
 */
request.options = {
    baseUrl: '',
    headers: {
        'content-type': 'json'
    }
}

/**
 * 简单封装微信get请求示例
 * @param string url
 * @param object options
 */
request.get = function(url, options) {
    reutn new Promise((resolve, reject) => {
        wx.request({
            url: request.options.baseUrl + url,
            dataType: 'json',
            header: Object.assign(request.options.headers, options.headers),
            success: function(res) {
                resolve(res)
            },
            fail: function() {
                reject()
            }
        })
    })
}

完整代码请查看github代码库。

文章作者ianzhi,原文地址:https://www.dnote.cn/users/ianzhi/posts/wechat-miniprogram-promise-request

文章版权归作者所有,转载请保留此声明。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【技巧】ionic3修改自定义图标

    我们需要把它裁切并转成svg格式再生成字体图标,比较繁琐,而我新系统目前也没有装相应软件,所以这里不采用这些图标,选用网上已有类似的字体图标来代替。

    IT晴天
  • ES6——异步操作

    ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async 函数是什么?一句话,它就是 Generator 函数的语法糖。 前文有一...

    羊羽shine
  • SpringBoot 2.0 集成 JavaMail ,实现异步发送邮件

    (1)、Message 类: javax.mail.Message 类是创建和解析邮件的一个抽象类 子类javax.mail.internet.MimeMess...

    知了一笑
  • React:Redux怎么处理异步?

    redux-thunk 中间件允许你 dispatch 一个函数(即:thunk),异步逻辑就放在这个函数中处理;

    WEBJ2EE
  • Fetch:新一代Ajax API

    一直以来,我们使用的Ajax技术,实际是由各浏览器的XMLHttpRequest(XHR)对象实现。但由于XHR接口难用而且落后(不能Promise),所以实际...

    WEBJ2EE
  • Babel:JavaScript“编译器”

    Babel是由Node.js承载的前端工具生态中的一员,负责“编译”、“转换”无法在各浏览器中直接运行的JavaScript代码为浏览器可识别的代码,为WEB开...

    WEBJ2EE
  • React:Redux源码分析

    Redux 是JavaScript 应用的状态管理容器,提供集中式、可预测的状态管理。

    WEBJ2EE
  • macOS/iOS 代理 V2Ray 小白级配置

    GitHub: https://github.com/V2Ray/v2ray-core 官方网站:https://www.v2ray.com/

    iOSDevLog
  • We found potential security vulnerabilities in your dependencies. Only the owner of this reposito...

    找到一个叫做.gitignore,把package-lock.json贴在这个文件里

    达达前端
  • JS函数节流和函数防抖

    之所以返回一个函数,因为防抖本身更像是一个函数修饰,所以就做了一次函数柯里化。里面也用到了闭包,闭包的变量是timer。

    用户1437675

扫码关注云+社区

领取腾讯云代金券