我已经尝试了许多不同的方法来执行此操作。
像下面的代码一样,我试图在.each
迭代完成后运行代码。完成每个循环后的代码
function test(){
var iterate = $.each(ohrArray, function(i, val){
var ohrID = ohrArray[i];
var folderUrl = 'EFMSEmployeeDocumentList' + "/" + locationFolder;
var url = _spPageContextInfo.webServerRelativeUrl + "/_api/Web/GetFolderByServerRelativeUrl('" + folderUrl + "')?$expand=Files";
$.getJSON(url,function(data,status,xhr){
for(var i = 0; i < data.Files.length;i++){
modifiedDate= new Date(data.Files[i].TimeLastModified);
if(documentTitle == ""){
showData(ohrID ,data.Files[i].Title,data.Files[i].ServerRelativeUrl,modifiedDate);
countItems++;
}else{
if(documentTitle == data.Files[i].Title)
countItems++;
showData(ohrID ,data.Files[i].Title,data.Files[i].ServerRelativeUrl,modifiedDate);
}
}
}
}).complete(function(){
$('#tblCustomListData').dataTable({
paging: true,
searching: true,
bDestroy: true,
"iDisplayLength": 5,
"lengthMenu": [5,10, 25, 50, 100]
});
if(countItems == 0){
alert("No Files Exists");
$("#divCustomListData").hide();
}
});
}
});
$.when(iterate)
.then(function(iterate){
if(countItems == 0){
alert("No Files Exists");
}
});
}
仍在调试时发现代码.then
在.each完成之前正在运行。
我们还能做什么?
如何传递folderURL的列表 – KumarV