Основанный на http-запросе апплета Promise WeChat, он легкий, компактный, дружественный к API и богатый функциями.
yarn add wechat-request
npm install wechat-request --save
import wxRequest from 'wechat-request';
Сначала давайте сделаем простой запрос get
// 向具有给定ID的用户发出请求
wxRequest . get ( '/user?id=12345' )
. then ( function ( response ) {
console . log ( response ) ;
} )
. catch ( function ( error ) {
console . log ( error ) ;
} ) ;
// 可选地,上面的请求也可以按照
wxRequest . get ( '/user' , {
params : {
id : 'number'
}
} ) . then ( function ( response ) {
console . log ( response ) ;
} ) . catch ( function ( error ) {
console . log ( error ) ;
} ) ;
// 想要使用 async/await? 将`async`关键字添加到外部函数/method
async function getUser ( ) {
try {
const response = await wxRequest . get ( '/user?ID=12345' ) ;
console . log ( response ) ;
} catch ( error ) {
console . error ( error ) ;
}
}
Используйте async/waait различными способами, чтобы начать удобный и приятный путь кодирования.
Затем приходит еще один запрос post
wxRequest . post ( '/user' , {
firstname : 'firstname' ,
lastname : 'lastname'
} ) . then ( function ( response ) {
console . log ( response ) ;
} ) . catch ( function ( error ) {
console . log ( error ) ;
} ) ;
Пример выполнения нескольких одновременных запросов
function getUserAccount ( ) {
return wxRequest . get ( '/user/12345' ) ;
}
function getUserPermissions ( ) {
return wxRequest . get ( '/user/12345/permissions' ) ;
}
wxRequest . all ( [ getUserAccount ( ) , getUserPermissions ( ) ] )
. then ( response => {
// dosoming ...
} ) ;
Конечно, помимо обычных запросов get
и post
, другие запросы также упаковываются единообразно.
wxRequest.request(config)
wxRequest.get(url[, config])
wxRequest.delete(url[, config])
wxRequest.head(url[, config])
wxRequest.options(url[, config])
wxRequest.post(url[, data[, config]])
wxRequest.put(url[, data[, config]])
wxRequest.patch(url[, data[, config]])
Примечание. При использовании
url
методов-псевдонимов атрибутыmethod
иdata
не обязательно указывать в конфигурации.
Сценарии использования Для пользовательских запросов требуются токены или префиксы адресов, которые можно настроить один раз, что экономит время и избавляет от беспокойства.
wxRequest . defaults . baseURL = 'https://api.example.com' ;
wxRequest . defaults . headers [ 'Authorization' ] = AUTH_TOKEN ;
wxRequest . defaults . headers . post [ 'Content-Type' ] = 'application/x-www-form-urlencoded' ;
Массачусетский технологический институт