{"action":"opened","issue":{"url":"https://api.github.com/repos/rusthon/Rusthon/issues/64","labels_url":"https://api.github.com/repos/rusthon/Rusthon/issues/64/labels{/name}","comments_url":"https://api.github.com/repos/rusthon/Rusthon/issues/64/comments","events_url":"https://api.github.com/repos/rusthon/Rusthon/issues/64/events","html_url":"https://github.com/rusthon/Rusthon/issues/64","id":91627057,"number":64,"title":"javascript backend: time constrained logic","user":{"login":"hartsantler","id":764882,"avatar_url":"https://avatars.githubusercontent.com/u/764882?v=3","gravatar_id":"","url":"https://api.github.com/users/hartsantler","html_url":"https://github.com/hartsantler","followers_url":"https://api.github.com/users/hartsantler/followers","following_url":"https://api.github.com/users/hartsantler/following{/other_user}","gists_url":"https://api.github.com/users/hartsantler/gists{/gist_id}","starred_url":"https://api.github.com/users/hartsantler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hartsantler/subscriptions","organizations_url":"https://api.github.com/users/hartsantler/orgs","repos_url":"https://api.github.com/users/hartsantler/repos","events_url":"https://api.github.com/users/hartsantler/events{/privacy}","received_events_url":"https://api.github.com/users/hartsantler/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rusthon/Rusthon/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"hartsantler","id":764882,"avatar_url":"https://avatars.githubusercontent.com/u/764882?v=3","gravatar_id":"","url":"https://api.github.com/users/hartsantler","html_url":"https://github.com/hartsantler","followers_url":"https://api.github.com/users/hartsantler/followers","following_url":"https://api.github.com/users/hartsantler/following{/other_user}","gists_url":"https://api.github.com/users/hartsantler/gists{/gist_id}","starred_url":"https://api.github.com/users/hartsantler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hartsantler/subscriptions","organizations_url":"https://api.github.com/users/hartsantler/orgs","repos_url":"https://api.github.com/users/hartsantler/repos","events_url":"https://api.github.com/users/hartsantler/events{/privacy}","received_events_url":"https://api.github.com/users/hartsantler/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/rusthon/Rusthon/milestones/1","html_url":"https://github.com/rusthon/Rusthon/milestones/rusthon%201.0","labels_url":"https://api.github.com/repos/rusthon/Rusthon/milestones/1/labels","id":949808,"number":1,"title":"rusthon 1.0","description":"* c++ backend\r\n* pystone benchmark\r\n* fannkuch benchmark\r\n* richards benchmark","creator":{"login":"hartsantler","id":764882,"avatar_url":"https://avatars.githubusercontent.com/u/764882?v=3","gravatar_id":"","url":"https://api.github.com/users/hartsantler","html_url":"https://github.com/hartsantler","followers_url":"https://api.github.com/users/hartsantler/followers","following_url":"https://api.github.com/users/hartsantler/following{/other_user}","gists_url":"https://api.github.com/users/hartsantler/gists{/gist_id}","starred_url":"https://api.github.com/users/hartsantler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hartsantler/subscriptions","organizations_url":"https://api.github.com/users/hartsantler/orgs","repos_url":"https://api.github.com/users/hartsantler/repos","events_url":"https://api.github.com/users/hartsantler/events{/privacy}","received_events_url":"https://api.github.com/users/hartsantler/received_events","type":"User","site_admin":false},"open_issues":15,"closed_issues":13,"state":"open","created_at":"2015-01-24T18:22:44Z","updated_at":"2015-06-28T19:00:00Z","due_on":"2015-03-31T07:00:00Z","closed_at":null},"comments":0,"created_at":"2015-06-28T19:00:00Z","updated_at":"2015-06-28T19:00:00Z","closed_at":null,"body":"realtime applications often need to maintain some minimum frame rate, this new syntax implements a way of marking blocks of code with a time constraint to finish computation in, and if over the threshold break out of the block.  This allows the coder to easily spread logic and long computations over multiple frames, and not have to manually manage a clock ticker.\r\nhttps://github.com/rusthon/Rusthon/blob/master/examples/javascript_timeout_loops.md\r\n\r\n```python\r\nfps = 90\r\nmiliseconds = (1.0 / fps) * 1000\r\n\r\nwith timeout( miliseconds ):\r\n   foo()\r\n   bar()\r\n   ...do more stuff until time limit has been reached\r\n...continue program\r\n```"}}