用request-promise模块使接口请求变更简单
因为项目是前后端分离的技术架构,所以数据部分是来自于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 }) }) }
评论已关闭。