secondo me perchè legge prima il WHILE e poi il DO e quindi Time2 potreppe trovarla undefined
undefined

se ti serve di attendere solo 10 secondi perchè non utilizzi un setInterval ??