vue使用request-promise调用接口获取数据

安装依赖:

npm install --save request
npm install --save request-promise

若想方法返回接口返回值,需要使用回调函数,因为是异步操作

1、demo如下

var crypto = require('crypto')

function getDevices() {

}

//加入参数 callback 
getDevices.mydevices = function(user, password, callback) {

    var it_login_options = {
      method: 'POST',
      uri: 'localhost',
      body: {
        'todo': 'ITLogin',
        'me': user,
        'password': crypto.createHash('md5').update(password).digest('hex'),
        'platform': 'Test'
      },
      json: true,
      rejectUnauthorized: false
    }
    rp(it_login_options)
      .then(function(loginBody) {
        // 可以return 多个数据loginBody,loginBody1...
        return callback(loginBody,loginBody.result)
      }
      )
      .catch(function(err) {
        console.log(`[Error]: ${err}`)
        return null
      })
  
}

module.exports = getDevices

调用函数,获取返回值:

var test = require('./get_list_copy')

test.mydevices('18555555555','123456', (response,result) => {
   console.log(response)
   console.log(result)
})

运行结果如下:

{ todo: 'result',
  result: 'ok',
  resource: 'test',
  last: 7200000 }
ok

2、request-promise其他的一些用法

GET something from a JSON REST API

POST like HTML forms do

Include a cookie 等

具体可以参考:

https://github.com/request/request-promise

Logo

前往低代码交流专区

更多推荐