在微信小程序中,处理异步请求通常使用回调函数、Promise 或 async/await 方法来处理。以下是几种常用的方式来解决微信小程序的异步请求问题的代码示例:
使用回调函数处理异步请求:
// 通过回调函数处理异步请求 function fetchData(callback) { wx.request({ url: '请求的接口URL', method: 'GET', success: function(res) { // 在请求成功后执行回调函数,并将结果传递给回调函数 callback(null, res.data); }, fail: function(error) { // 在请求失败后执行回调函数,并将错误信息传递给回调函数 callback(error); } }); } // 调用函数并处理异步结果 fetchData(function(error, result) { if (error) { console.error('请求失败', error); return; } console.log('请求成功', result); });
2 . 使用回调函数处理异步请求:
// 使用 Promise 处理异步请求 function fetchData() { return new Promise(function(resolve, reject) { wx.request({ url: '请求的接口URL', method: 'GET', success: function(res) { // 请求成功时,调用 resolve 方法将结果传递出去 resolve(res.data); }, fail: function(error) { // 请求失败时,调用 reject 方法将错误传递出去 reject(error); } }); }); } // 调用函数并处理异步结果 fetchData() .then(function(result) { console.log('请求成功', result); }) .catch(function(error) { console.error('请求失败', error); });
3. 使用 async/await 处理异步请求:
// 使用async/await处理异步请求 async function fetchData() { try { const res = await new Promise((resolve, reject) => { wx.request({ url: '请求的接口URL', method: 'GET', success: function(res) { resolve(res); }, fail: function (error) { reject(error); } }); }); console.log('请求成功', res.data); return res.data; } catch (error) { console.error('请求失败', error); throw error; } } // 调用函数并处理异步结果 fetchData();