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); });

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Promise 对象 Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函...
    neromous阅读 8,851评论 1 56
  • 一、Promise的含义 Promise在JavaScript语言中早有实现,ES6将其写进了语言标准,统一了用法...
    Alex灌汤猫阅读 892评论 0 2
  • # Ajax标签(空格分隔): 笔记整理---[TOC]### 从输入网址开始:- 在学习ajax之前,你应该先了...
    V8阅读 352评论 1 0
  • 欢迎阅读专门探索 JavaScript 及其构建组件的系列文章的第四章。 在识别和描述核心元素的过程中,我们还分享...
    OSC开源社区阅读 1,228评论 1 10
  • 朱兴雄阅读 176评论 1 0

友情链接更多精彩内容