Can someone check this simple code?

Just starting out? Need help? Post your questions and find answers here.
orangetek
Posts: 19
Joined: Fri Dec 08, 2017 2:32 pm

Can someone check this simple code?

Post by orangetek »

Code: Select all

Repeat
  count+1
  Debug count
Until count=1000
This simple bit of code takes around 3 seconds to complete and does not display anything in the debug window until completed. Is this normal?

Thanks
User avatar
Peter
Posts: 1086
Joined: Mon Feb 24, 2014 10:17 pm
Location: 127.0.0.1:9080
Contact:

Re: Can someone check this simple code?

Post by Peter »

dev.to wrote:Javascript is a single threaded language. This means it has one call stack and one memory heap. As expected, it executes code in order and must finish executing a piece code before moving onto the next.
It's synchronous, but at times that can be harmful. For example, if a function takes awhile to execute or has to wait on something, it freezes everything up in the meanwhile.
You can use setTimeout() to avoid freezing the debug output:

Code: Select all

Procedure DebugX(DebugOutput)
  ! setTimeout(function() { 
  Debug(DebugOutput)
  ! }, 0);  
EndProcedure

Repeat
  count + 1
  DebugX(count)
Until count = 1000
Greetings ... Peter
orangetek
Posts: 19
Joined: Fri Dec 08, 2017 2:32 pm

Re: Can someone check this simple code?

Post by orangetek »

Hi Peter,

Thanks for the reply. I am still a bit confused as i thought each command was run in sequence. Can you explain where exactly the blocking is happening?
Post Reply