小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我写好了3个ajax 怎么写成同步 网上看了很多资料看不懂?
比方说ajaxfn1 ajaxfn2 ajaxfn3 怎么用await实现同步 这3个异步ajax内部不能动
6 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
ajax套着用,一个返回数据后在发起第二个,小程序ajax都是异步请求
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
2种方法:回调 或者 promise
https://developers.weixin.qq.com/s/HlltRvmI7Kcp
有promise封装一下,然后Promise.all([promise1,promise2,promise3]).then()
const promise1 = new Promise((reslove, reject) => {
$.ajax({
url: url,
data: data,
success: (res)=> {
// 请求成功 res为请求到的数据
resolve(res);
}
})
});
Promise.all([promise1]).then(arr => {
// arr为promise1中resolve(res)里的数据
console.log(arr); // 结果为[res]
// 用promise对象封装 const jqPromiseAjax = params => { return new Promise((resolve, reject) => { $.ajax({ url: params.url, type: params.type || 'get', dataType: 'json', headers: params.headers || {}, data: params.data || {}, success(res) { resolve(res) }, error(err) { reject(err) } }) }) }
// 再使用async和await async function consoleLogUserInfo() { const data = await jqPromiseAjax({ url: '/proxy/user/getUserInfo',
type: 'get'
}).then(res => res.data) console.log(data) }
在回调里面就好了啊
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
ajax套着用,一个返回数据后在发起第二个,小程序ajax都是异步请求
2种方法:回调 或者 promise
https://developers.weixin.qq.com/s/HlltRvmI7Kcp
有promise封装一下,然后Promise.all([promise1,promise2,promise3]).then()
const promise1 = new Promise((reslove, reject) => {
$.ajax({
url: url,
data: data,
success: (res)=> {
// 请求成功 res为请求到的数据
resolve(res);
}
})
});
Promise.all([promise1]).then(arr => {
// arr为promise1中resolve(res)里的数据
console.log(arr); // 结果为[res]
})
// 用promise对象封装 const jqPromiseAjax = params => { return new Promise((resolve, reject) => { $.ajax({ url: params.url, type: params.type || 'get', dataType: 'json', headers: params.headers || {}, data: params.data || {}, success(res) { resolve(res) }, error(err) { reject(err) } }) }) }
// 再使用async和await async function consoleLogUserInfo() { const data = await jqPromiseAjax({ url: '/proxy/user/getUserInfo',
type: 'get'
}).then(res => res.data) console.log(data) }
在回调里面就好了啊