在使用mui.ajax时,我将async设置为false,程序确实等待请求结束了。但是执行下面的代码时,按理应该是先执行ajax里面的success(),再之后ajax外边的方法。但是现在的执行顺序是先执行外边的,再执行success,导致我这边无法使用ajax返回的数据。由于调用函数的逻辑比较复杂,而且包含返回值,所以很难用callback传入success中去实现。如附件中所示,其中20秒的时间差,是我后台卡断点之后等待的时间。
请问这个是mui的bug吗,还是我的使用方式不对呢?
![lvzhm](https://img-cdn-tc.dcloud.net.cn/account/identicon/7130e4d818f7693b9b943c2f6410f5ad.png)
- 发布:2016-08-30 17:10
- 更新:2020-03-04 13:47
- 阅读:10140
![](http://img-cdn-tc.dcloud.net.cn/uploads/questions/20160830/aa14951bc4fafdb646ebc197b3604c8b.jpg)
![DCloud_UNI_FXY](http://img-cdn-tc.dcloud.net.cn/uploads/avatar/000/00/09/90_avatar_mid.jpg?v=0)
我这里测试没问题:
console.log('start');
mui.ajax({
url: 'http://runjs.cn/action/echo/json',
async: false,
data: {
'name': 'mui'
},
success: function(response) {
console.log(response);
}
});
console.log('end');
输出:
start
{"name":"mui"}
end
-
-
-
lvzhm (作者)
你好,我在HelloMui里面测试您的代码是可以的,但是为啥把这段代码放到我们的程序里面就不行呢?考虑可能是因为mui.js和mui.min.js版本的问题,我还把HelloMui里面的mui.js和mui.min.js拷贝了过来。但是还是先输出的:start、end、{"name":"mui"}
2016-08-31 09:38
-
-
-