微信小程序的请求默认都是异步的,可是总是有不同的情况。比如近日有个需求,需要先上传完照片再发布文字分享。网上找了很久很多人都说使用Promise。于是我试了下,结果发现不对啊,报错了,现贴上代码如下:
//上传图片
uploadImages:function(){
return new Promise(function (resolve, reject) {
var fileList = new Array(); //文件上传返回的列表
//上传主题图片 一次只能上传一张好恶心
for (var i = 0; i < this.data.files.length; i++) {
wx.uploadFile({
url: 'http://localhost:8080/cgke/topic/uploadImgs',
filePath: that.data.files[i],
name: "files",
async: false,
success: function (res) {
console.log("上传主题图片列表:" + res.data);
fileList[i] = res.data.data[0];
}
})
}
//设置变量
Page.this.setData({
fileList:fileList
});
});
},
//发布新主题
publishTopic:function(){
return new Promise(function (resolve, reject){
var fileList=Page.this.data.fileList;