我使用函数webkitgetasentry上传文件(包括文件夹((拖放使用(
下面是我的代码
function drop(e){
e.stopPropagation();
e.preventDefault();
//call start modal (waiting file uploading...)
var items = e.dataTransfer.items;
for(var i=0; i<items.length; i++){
var item = items[i].webkitGetAsEntry();
if (item){
callmyfunction(item);
}
}
//start modal close
}
调用我的函数做文件上传。
但是此代码异步运行。
所以在调用MyFunction全部完成之前开始模态关闭
当调用我的函数全部完成时,如何启动模式关闭?
callmyfunction
异步函数应接受回调参数,以便您可以在那里处理模式关闭。例:
function callmyfunction(item, cb) {
// do uploading...
// execute cb after upload
cb();
}
function drop(e){
e.stopPropagation();
e.preventDefault();
//call start modal (waiting file uploading...)
var items = e.dataTransfer.items;
for(var i=0; i<items.length; i++){
var item = items[i].webkitGetAsEntry();
if (item){
callmyfunction(item, function() {
// close modal
});
}
}
}
另一种选择是使用承诺。