| 2211 | var completedSynchronously = false; |
| 2212 | |
| 2213 | const onComplete = function() { |
| 2214 | if (jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously) { |
| 2215 | completedSynchronously = true; |
| 2216 | return; |
| 2217 | } |
| 2218 | |
| 2219 | if (self.blocks[self.index].abort) { |
| 2220 | self.abort = true; |
| 2221 | } |
| 2222 | |
| 2223 | self.offset = 0; |
| 2224 | self.index++; |
| 2225 | |
| 2226 | const now = new Date().getTime(); |
| 2227 | if ( |
| 2228 | self.env.updateInterval && |
| 2229 | now - self.env.lastUpdate > self.env.updateInterval |
| 2230 | ) { |
| 2231 | self.env.lastUpdate = now; |
| 2232 | self.env.setTimeout(() => { |
| 2233 | self.next_(); |
| 2234 | }, 0); |
| 2235 | } else if (jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) { |
| 2236 | goAgain = true; |
| 2237 | } else { |
| 2238 | self.next_(); |
| 2239 | } |
| 2240 | }; |
| 2241 | self.blocks[self.index].execute(onComplete); |
| 2242 | |
| 2243 | calledSynchronously = false; |