uni异步问题的解决方案

uni的请求基本都是异步的,最近项目碰到了需要把多张图片分批次全部上传后再实现跳转页面。

按逻辑写我就是将上传图片的方法封装,然后再提交的按钮监听事件里多次调用封装的上传图片的方法。如何判断这多次上传是否成功成了难题。

开始的时候我上传图片的请求封装是这样写的:

图片上传封装

调用时:

修改之前的调用

后来看了Promise异步编程,将调用时候改为:

修改之后的调用

将每次上传图片封装返回值改成Promise对象,方便下一张图片调用.then()方法。调用就是我们的表单提交按钮的方法在验证所有值都是对的时候,调用下面的方法

.then(onFulfilled, onRejected)

then方法,方法带两个参数,可选,分别为成功时的回调以及失败时的回调

如上代码,log(1)时执行了resolve,log(2)时执行了reject 

that.uploadHead(recordID).then(that.uploadHead(recordID)).then(function(){

        console.log('finished!');//完成图片上传后的处理

}) .catch(function(err) { console.log(err); });

你可能感兴趣的:(uni异步问题的解决方案)