|
- export default class HttpUtil {
-
-
- /**
- * 利用 Promise 的 get 方式请求
- * @param url
- * @returns {Promise}
- */
- static get(url) {
- request = new Promise((resolve, reject) => {
- fetch(url, {
- method: 'GET',
- headers: {
- 'Accept': 'application/json',
- 'Content-Type': 'application/json'
- }
- })
- .then(response => response.json())
- .then(result => resolve(result))
- }).catch(e => reject(e.message));
-
- const timeoutRequest = new Promise((resolve, reject) => {
- setTimeout(reject, 30000, 'Request timeout');
- });
-
- return Promise
- .race([request, timeoutRequest])
- .then(res => {
- return res
- }, m => {
- throw new Error(m);
- });
-
- }
-
- /**
- * 利用 Promise 的 post 方式请求
- * @param url
- * @param params
- * @returns {Promise}
- */
- static post(url, params) {
- request = new Promise((resolve, reject) => {
- fetch(url, {
- method: 'POST',
- headers: {
- 'Accept': 'application/json',
- 'Content-Type': 'application/json'
- },
- body: JSON.stringify(params)
- }).then(response => response.json())
- .then(result => resolve(result))
- }).catch(e => reject(e.message));
-
- const timeoutRequest = new Promise((resolve, reject) => {
- setTimeout(reject, 30000, 'Request timeout');
- });
-
- return Promise
- .race([request, timeoutRequest])
- .then(res => {
- return res
- }, m => {
- throw new Error(m);
- });
-
- }
-
- }
-
|