function fetchData(url: string, config?: { method: 'GET' | 'POST' | 'PUT' | 'DELETE'; headers: { [key: string]: string } }): Promise<{ data: any }> {
return new Promise((resolve, reject) => {
// 这里开始实际的网络请求逻辑,以fetch为例
const defaultConfig = { method: 'GET', headers: {} };
const mergedConfig = { ...defaultConfig, ...config };
fetch(url, {
method: mergedConfig.method,
headers: mergedConfig.headers
})
.then(response => response.json())
.then(data => resolve({ data }))
.catch(error => reject(error));
});
}