用request-promise模块使接口请求变更简单

作者:norion时间:2017年4月26日评论次数:0 条

因为项目是前后端分离的技术架构,所以数据部分是来自于java的http接口,目前request模块算是比较合适的http请求的模块,但是在做项目的时候遇到要多个接口合并的情况,而request是异步的,所以就有点的捉襟见肘了。

万能的npm总是很好的解决项目的一些痛点,request-promise模块是做request模块之上封装了一层,使之promise话,这样在做接口请求的时候就简单很多,目前我们的项目是把对接口的操作封装成一个小模块:

const rp = require('request-promise')
const logger = require('../lib/logger.lib')

exports.postHaddle = (url, req, res, next) => {
    let sn = Number(new Date())
    let body = {
        sn,
        openId: req.session.openId,
        data: req.body
    }
    let options = {
        method: 'POST',
        json: true,
        uri: url,
        body
    }
    return rp(options)
        .then(data => {
            return data
        })
        .catch(err => {
            logger.api().error(`name: ${err.name}, message: ${err.message}, url: ${err.options.uri}`)
            console.error(err)
            if (next) {
                return next()
            }
            res && res.json({ sn, code: -1, msg: '接口访问出错', data: body })
        })
}

上一篇: 使用cas模块搭建cas的node client

下一篇:自己写一个express中间件

相关文章

评论

评论已关闭。