Lots of ways - and to an extent it depends what you're doing with the files afterwards. You could, for example, have a global integer, set it to zero, and have the sub increment it by one each time you finish processing the file.*
Or if you know what the files will be called (say, you're going to save them with particular names to the internal memory) then you might just check to see if all those files have appeared yet.
* I'm wondering about a race condition here? I don't know if that's possible in B4A; it might be better to have a list containing a map for each file name, with the name, and the download status. So after the wait for , you'd add an item to the list with something like
DownloadedFiles.Add(CreateMap("file" : url, "downloaded" : job.success))
Then elsewhere in your code, you can check to see the size of the DownloadedFiles list, and iterate over it to see if all the files did download correctly