var fetchData = async (url, method, data) => {
var options;
var dataStr = '';
var headers = {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded'
};
// get 请求
if (method === 'get') {
if (typeof data === 'object') {
Object.keys(data).forEach(key => {
dataStr += `${key}=${data[key]}&`
});
if (dataStr) {
dataStr = dataStr.substring(0, dataStr.length - 1)
};
url = `${url}?${dataStr}`;
}
options = {
method: 'GET',
headers,
}
} else {
var formData = new FormData();
for (var key in data) {
formData.append(key, data[key])
}
options = {
method: 'POST',
body: formData
}
}
var response = await fetch(url, options);
var res = await response.json();
return res;
}
这是封装的fetch
请求,如何通过fetch
请求实现ajax
中beforesend
在请求成功前做一些操作,比如加上一个loading...
的提示
在
await fetch()
前面加个beforesend
不就好了吗?