exports.main = async (event, context) => {
return new Promise((resolve, reject) => {
let url = ’ ’
request( url, function (error, response, body) {
return resolve(body)
})
})
}
关于云开发发起网络请求 文档说:
Node.js 提供的原生 http
接口在云函数中发起网络请求,我们还可以使用一个流行的 Node.js 网络请求库 request 来更便捷的发起网络请求。
但是这个不知道如何选择使用get或post方法,尤其不知道如何参数传递,百度了很久 node request的get post方法 和两个方法的参数传递 都找不到一个合适的参考。
麻烦给个代码格式参考,展示一下post方法的传参格式 谢谢!!
给你一个例子,试试。
1、云函数json文件
{
“name”: “”,
___ “private”: true,//重点在这里,要定义下,不然会报错___
“version”: “1.0.0”,
“description”: “”,
“main”: “index.js”,
“scripts”: {
“test”: “echo \“Error: no test specified\” && exit 1”
},
“author”: “”,
“license”: “ISC”,
“dependencies”: {
“wx-server-sdk”: “latest”
}
}
2、云函数js内容
// 云函数入口文件
const cloud = require(‘wx-server-sdk’)
const request = require(‘request’)
const API_URL = ‘’
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
var url = API_URL
// return{
// event,context
// }
return new Promise((resolve, reject) => {
request.get(url, (error, response, body) => {
if (error) {
reject()
} else {
try {
resolve(body)
} catch (e) {
reject()
}
}
})
})
}
//npm install request-promise
const rp = require(‘request-promise’);
// 云函数入口函数
exports.main = async(event, context) => {
var res = await rp(
{
method: ‘post’,
uri: ‘https://xxxx.com’,
body: {
xxx:‘xxx’
},//参数
headers: {},//请求头
json: true //是否json数据
}
).then(( body) => {
return body
}).catch(err => {
return err;
})
return res;
}