위 챗 애플 릿 API 사용 Promise 패키지 wx. request 통합 요청 입구
22484 단어 Front-WebJavaScript위 챗 애플 릿
import {
httpMethod
} from "./commonConst";
function wxPromisify() {
return function (obj = {}) {
return new Promise((resolve, reject) => {
obj.success = function (res) {
resolve(res.data);
};
obj.fail = function (error) {
reject(error);
};
wx.request(obj);
});
};
}
// promise
Promise.prototype.finally = function (callback) {
let P = this.constructor;
return this.then(
value => P.resolve(callback()).then(() => value),
reason => P.resolve(callback()).then(() => { throw reason; })
);
};
function postMethod(url, headerObj, bodyObj) {
var getRequest = wxPromisify(wx.request);
return getRequest({
url: url,
header: headerObj,
data: bodyObj,
method: httpMethod.POST
});
}
function getMethod(url, headerObj) {
var getRequest = wxPromisify();
return getRequest({
url: url,
header: headerObj,
method: httpMethod.GET
});
}
function deleteMethod(url, headerObj) {
var getRequest = wxPromisify();
return getRequest({
url: url,
header: headerObj,
method: httpMethod.DELETE
});
}
function putMethod(url, headerObj, bodyObj) {
var getRequest = wxPromisify();
return getRequest({
url: url,
header: headerObj,
data: bodyObj,
method: httpMethod.PUT
});
}
//
module.exports = {
get: getMethod,
post: postMethod,
delete: deleteMethod,
put: putMethod
};
사용 예시: org. js
import {
post
} from '../../utils/httpServices'
import {
URL
} from '../../utils/constants'
/**
*
*/
function add(headerObj, bodyObj) {
return post(URL.add, headerObj, bodyObj);
}
/**
*
*/
function list(headerObj, bodyObj) {
return post(URL.list, headerObj, bodyObj);
}
/**
*
*/
function delete(headerObj, bodyObj) {
return post(URL.delete, bodyObj, headerObj);
}
/**
*
*/
function update(headerObj, bodyObj) {
return post(URL.update, headerObj, bodyObj);
}
/**
*
*/
function search(headerObj, bodyObj) {
return post(URL.search, bodyObj, headerObj);
}
module.exports.orgService = {
add: add,
delete: delete,
update: update,
list: list,
search: search
};
호출 방법: update. js
import {
orgService
} from '../../../services/org';
Page({
...
...
data: {
},
/**
* --
*/
onLoad: function () {
this.getUpdateData();
},
/**
*
*/
getUpdateData: async function() {
let headerObj = { ... };
let bodyObj = {...};
return await orgService.update(headerObj, bodyObj).then(res => {
console.log('res',res);
}).catch(error => {
console.log('error',error);
})
},
})
constants.js
// host
const testHost = "https://test.com";
// path
const addPath = '/api/add';
const listPath = '/api/list';
const searchPath = '/api/search';
const updatePath = '/api/infoupdate';
const deletePath = '/api/delete';
// pathURL
module.exports.URL = {
add: testHost + addPath ,
list: testHost + listPath ,
search: testHost + searchPath ,
update: testHost + updatePath ,
delete: testHost + deletePath
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
미니프로젝트-팀소개 웹사이트 제작 -1, 상단바 만들기일단 우리조는 기술적인 부분을 합의하기로 하여 html,css,javascript,bootstrap 전부를 사용하기로 하였다. 디자인을 잘 모르는 우리 팀이기에...그냥 웹사이트 하나를 참고하여 아예 그 컨셉을 그대...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.