0
for 루프 프로세스를 지연하여 데이터 로딩이 진행률 막대처럼 보이도록하고 싶습니다. 이 코드에서 버튼을 클릭하면 바로 다음 데이터가 표시됩니다. 20/20 레코드 렌더링. 1/20 Record Rendered로 시작하는 레코드를보고 싶습니다. 3 초 후 Renderered 2/20 레코드가됩니다.데이터를 표시 할 때 루프 프로세스 지연
<button name="subject" type="submit" value="6" onClick="Run(this.value)">Run</button>
<script>
function Run(value) {
custRecordsRendered = 0;
$.ajax({
type: 'Post',
url: "/Tasks/RunSample",
success: function (data) {
totalRecords = data[0].Total;
console.log("Total: " + data[0].Total);
console.log("Records: " + Object.keys(data).length);
for (var key in data) {
(function iterator() {
console.log("logs: "+data[key].Records);
setTimeout(iterator, 3000);
})();
if (data.hasOwnProperty(key)) {
custRecordsRendered = data[key].Records;
updateProgress();
}
}
}
});
function updateProgress() {
$("#completeCount").text(custRecordsRendered + "/" + totalRecords + " Records Rendered");
}
}
</script>
컨트롤러 :
public JsonResult RunSample()
{
List<object> countData = new List<object>();
int count = 20;
for (int i = 1; i <= count; i++)
{
countData.Add(new { Total = count, Records = i });
}
return Json(countData);
}
이 도와 주셔서 감사 여기
는 코드입니다.
감사합니다. 나를 돕기 위해. – Jen143