Una biblioteca de componentes de solicitud de red basada en la extensión wx.request proporcionada para el subprograma WeChat.
npm install weapp.request -S
const request = require ( 'weapp.request' )
Enviar una solicitud GET
request ( 'https://api.github.com' ) . then ( onFulfilled ) . catch ( onRejected )
Debido a que todas las llamadas request
devolverán una Promise
, puede usar then
para procesar aún más los resultados de la solicitud y usar catch
para capturar errores generados internamente.
Enviar una solicitud GET y escribir en el caché
request ( 'https://api.github.com' , { } , {
cache : true
} )
Enviar una solicitud POST
request . post ( 'https://api.github.com' , {
user : 'afishhhhh'
} )
A excepción de las solicitudes GET, todos los demás métodos deben llamarse en el formato request.method
.
Según la documentación oficial de WeChat, el método POST anterior y el Content-Type
predeterminado es application/json
, y los datos se serializarán en JSON.
Si necesita enviar datos al servidor en forma de cadena de consulta, puede utilizar el siguiente método de llamada. No es necesario escribir Content-Type
como application/x-www-form-urlencoded
explícitamente:
request . post ( 'https://api.github.com' , {
form : {
user : 'afishhhhh'
}
} )
Configuración global
Opciones de configuración | tipo | ilustrar | Requerido | valor predeterminado |
---|---|---|---|---|
URL base | String/Undefined | Ruta de solicitud básica | No | |
cachéMaxAge | Number/Undefined | Período de validez de la caché, la unidad de tiempo es segundos | No | 1800 |
código de estado válido | Function/Undefined | rango legal del código de estado, esta función acepta un parámetro y devuelve un Boolean | No | code => code >= 200 && code < 300 |
request . config ( {
baseUrl : 'https://api.github.com'
} )
Interceptor de solicitud/respuesta
// 添加请求拦截器
request.interceptors.req.use(function (request) {
request.header['X-Tag'] = 'weapp.request'
// return request 可以显式地返回一个 request,如果没有 return,则默认返回当前 request
})
Lo mismo ocurre con los interceptores de respuesta.
// 移除请求拦截器
request.interceptors.req.remove()
request(url, params, options)
Realice una solicitud GET.
params
: parámetros de solicitud, el tipo es Object
, opcional.
options
: elemento de configuración, el tipo es Object
, opcional, puede tener los siguientes valores de atributo:
propiedad | tipo | Requerido | valor predeterminado | ilustrar |
---|---|---|---|---|
cache | Boolean/Undefined | No | undefined | undefined significa obtener los datos más recientes del servidor y no escribirlos en el caché; true significa obtener los datos del caché primero. Si los datos no existen en el caché o el caché ha caducado, los datos se obtendrán de. el servidor y escribir en el caché; false significa obtener los datos del servidor primero Obtener datos y escribir datos en el caché. |
encabezamiento | Igual que el documento oficial de WeChat. | |||
tipo de datos | Igual que el documento oficial de WeChat. | |||
tipo de respuesta | Igual que el documento oficial de WeChat. |
request.method(url, params, options)
method
puede ser get
, post
etc.
request.config(options)
options
: Elementos de configuración, el tipo es Object
.
Este código se distribuye bajo los términos y condiciones de la licencia MIT.