我如何知道javascript所有异步操作何时结束?
我在我的网站上使用的是WCF Ajax 我需要异步保存文件,但最终我需要知道所有异步操作何时完成我如何知道javascript所有异步操作何时结束?,javascript,asp.net,Javascript,Asp.net,我在我的网站上使用的是WCF Ajax 我需要异步保存文件,但最终我需要知道所有异步操作何时完成 function test() { for (var i = 0; i < arr.length; i++) { saveFileService.SaveFile(arr[i], onSaveFileComplete); } //TODO: CHECK THAT **ALL** FILE SAVES ARE DONE } function onSav
function test()
{
for (var i = 0; i < arr.length; i++) {
saveFileService.SaveFile(arr[i], onSaveFileComplete);
}
//TODO: CHECK THAT **ALL** FILE SAVES ARE DONE
}
function onSaveFileComplete(result)
{
// ONE FILE SAVE ENDED SUCCESSFULLY
}
功能测试()
{
对于(变量i=0;i
如何编写“TODO”部分?您可以维护一个计数器变量,并在完成回调中递增它。当到达
arr.length
时,所有文件都已处理完毕
比如:
function test()
{
var processedFiles = 0, fileCount = arr.length;
for (var i = 0; i < fileCount; i++) {
saveFileService.SaveFile(arr[i], function() {
// One file save ended successfully.
if (++processedFiles == fileCount) {
// All files have been processed.
}
});
}
}
功能测试()
{
var processedFiles=0,fileCount=arr.length;
对于(变量i=0;i
您可以维护一个计数器变量,并在完成回调中递增它。当到达arr.length
时,所有文件都已处理完毕
比如:
function test()
{
var processedFiles = 0, fileCount = arr.length;
for (var i = 0; i < fileCount; i++) {
saveFileService.SaveFile(arr[i], function() {
// One file save ended successfully.
if (++processedFiles == fileCount) {
// All files have been processed.
}
});
}
}
功能测试()
{
var processedFiles=0,fileCount=arr.length;
对于(变量i=0;i
保存文件时,只需使用全局计数器即可
var fiesCurrentlySaving = 0;
function test()
{
for (var i = 0; i < arr.length; i++) {
// Increase counter for the number of files saving
filesCurrentlySaving++;
// Save the file
saveFileService.SaveFile(arr[i], onSaveFileComplete);
}
}
function onSaveFileComplete(result)
{
// Reduce the file counter
filesCurrentlySaving--;
if (filesCurrentlySaving <= 0)
{
// Do whatever you need to do now!
}
}
var fiesCurrentlySaving=0;
功能测试()
{
对于(变量i=0;i 如果(filesCurrentlySaveing只需在保存文件时使用全局计数器即可
var fiesCurrentlySaving = 0;
function test()
{
for (var i = 0; i < arr.length; i++) {
// Increase counter for the number of files saving
filesCurrentlySaving++;
// Save the file
saveFileService.SaveFile(arr[i], onSaveFileComplete);
}
}
function onSaveFileComplete(result)
{
// Reduce the file counter
filesCurrentlySaving--;
if (filesCurrentlySaving <= 0)
{
// Do whatever you need to do now!
}
}
var fiesCurrentlySaving=0;
功能测试()
{
对于(变量i=0;i
function test()
{
for (var i = 0; i < arr.length; i++) {
saveFileService.SaveFile(arr[i], onSaveFileComplete);
if(i == arr.length)
{
//TODO: CHECK THAT **ALL** FILE SAVES ARE DONE
}
}
}
功能测试()
{
对于(变量i=0;i
试试这个
function test()
{
for (var i = 0; i < arr.length; i++) {
saveFileService.SaveFile(arr[i], onSaveFileComplete);
if(i == arr.length)
{
//TODO: CHECK THAT **ALL** FILE SAVES ARE DONE
}
}
}
功能测试()
{
对于(变量i=0;i