我正在尝试为多图像上传实现 Uploadcare,但对代码结构感到困惑。下面的代码有效,但它有两个.fail
块和两个.done
块。$.each()
此外,应在将组保存在服务器上之后将图像添加到前端使用,而此代码同时执行。
如何改进此代码?
$('button').on('click', function() {
var myDialog = uploadcare.openDialog(null, {
imagesOnly: true, multiple: true, multipleMin: 1, multipleMax: 7
});
myDialog.fail(function(error, fileInfo) {
alert('Upload fialed');
});
myDialog.done(
groupInstance => {
var groupPromise = groupInstance.promise();
var arrayOfFiles = groupInstance.files();
groupPromise.done(function(fileGroupInfo) {
/* Save group to server using Ajax */
uploadGroup(fileGroupInfo.uuid);
});
groupPromise.fail(function(error, fileGroupInfo) {
alert('Upload failed');
});
$.each(arrayOfFiles, function(i, file) {
file.done(function(fileInfo) {
/* Add image to front-end */
});
});
});
return false;
});
和 AJAX 功能:
uploadGroup = function(imgurl) {
$.post('index.php',
{string:imgurl},
function(data) {
if(data.status=='success') {
alert('success');
}
else {
alert('error');
}
},'json');
};
也对groupInstance =>
符号感到困惑。