Yield waitforseconds() problem

I have an anti air burst.
If I set burstsToDo to 3, it does 3, with no time between, thus my implementation of the waitforseconds().
When I add in the yield waitforseconds() line, instead of pausing before the next volley, it just keeps running the code for that time frame, causing the missle to spew thousands of pieces of shrapnel…

Here is the code…

function bursts()
{
for(var bcount : int = 0; bcount < burstsToDo;bcount++)
{
 
for(var icount : int = 0; icount < shotsToBurt;icount ++)
	{
	//Spawn.transform.eulerAngles = Vector3(0,0,Random.Range(-180,180));
	
    gren = Instantiate(Projectile,Spawn.position,transform.rotation);
    gren.transform.position.z = 100;
    gren.transform.localEulerAngles += Vector3(Random.Range(-180,180),0,0);
    gren.rigidbody.AddForce(Vector3.forward * disperseSpeed);
    }
    // yield WaitForSeconds(burstDelay);
  }    
  Destroy(gameObject);

commented it does the burst, but all at once.
I need it to pop, pause, pop, pause etc…
Uncommented, that is with yield in palce, it just goes and goes. :frowning:
Do I need to add an explicit timer into a while loop for this?

TIA guys and gals…

The second one hangs because your missing a yield; between line 23 - 24