A for or while loop does not output anything until the loop finishes. If you wire something outside a for loop, by default you will get an array outside the loop because a for loop auto-indexes outputs (this can be turned off). A while loop by default, does not auto-index (though this can be turned on) and what you will get out of the while look is just the last value generated. If you want to use the result of every iteration, you can put the code that will use the data inside the loop. Or, since the for loop creates an array, you could wire that array to another for loop and put the function that will use each element inside the second for loop. It sounds to me like you just need to put a DAQ function inside each of your separate for loops. Use dataflow to control the order of the for loops.