最近在做一些微信的東西。偶然發(fā)現(xiàn)uploadImage
接口無(wú)論選多少?gòu)垐D都只能上傳第一張:
wx.chooseImage({
count: 9,
success: function(res) {
res.localIds.forEach(function(localId) {
wx.uploadImage({
localId: localId,
success: function(res) {
alert('上傳成功'); // 無(wú)論選擇幾張都只會(huì)alert一次
}
});
});
}
});
微信文檔的常見(jiàn)問(wèn)題中指出了這個(gè)問(wèn)題,uploadImage
接口是異步的,但不能同時(shí)調(diào)用多次,多圖需要排隊(duì)。
后來(lái)修改代碼如下,就能正常上傳多圖了。
var localIds = [];
wx.chooseImage({
count: 9,
success: function(res) {
localIds = res.localIds;
syncUpload();
}
});
function syncUpload() {
if (!localIds.length) {
alert('上傳成功!');
} else {
var localId = localIds.pop();
wx.uploadImage({
localId: localId,
success: function() {
syncUpload();
}
});
}
}