{"action":"closed","issue":{"url":"https://api.github.com/repos/chjj/blessed/issues/151","labels_url":"https://api.github.com/repos/chjj/blessed/issues/151/labels{/name}","comments_url":"https://api.github.com/repos/chjj/blessed/issues/151/comments","events_url":"https://api.github.com/repos/chjj/blessed/issues/151/events","html_url":"https://github.com/chjj/blessed/issues/151","id":93134545,"number":151,"title":"Blocked event loop","user":{"login":"golbin","id":6277035,"avatar_url":"https://avatars.githubusercontent.com/u/6277035?v=3","gravatar_id":"","url":"https://api.github.com/users/golbin","html_url":"https://github.com/golbin","followers_url":"https://api.github.com/users/golbin/followers","following_url":"https://api.github.com/users/golbin/following{/other_user}","gists_url":"https://api.github.com/users/golbin/gists{/gist_id}","starred_url":"https://api.github.com/users/golbin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/golbin/subscriptions","organizations_url":"https://api.github.com/users/golbin/orgs","repos_url":"https://api.github.com/users/golbin/repos","events_url":"https://api.github.com/users/golbin/events{/privacy}","received_events_url":"https://api.github.com/users/golbin/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-07-05T18:37:54Z","updated_at":"2015-07-16T09:34:55Z","closed_at":"2015-07-16T09:34:55Z","body":"I just try to make something for testing blessed.\r\n\r\nBut I have a problem. I call a function with exec command in blessed UI. But it is hanged during for executing shell command. And if I stroke keyboard several times, then it'll be worked step by step. The code snippets are below. And you can test from https://github.com/golbin/git-commander\r\n\r\n```js\r\nGit.prototype.add = function () {\r\n  var deferred = Q.defer();\r\n\r\n  process.exec('git add ' + this.getFiles(), function (err, stdout, stderr) {\r\n    if (err) {\r\n      deferred.reject(err);\r\n    } else {\r\n      deferred.resolve(stdout);\r\n    }\r\n  });\r\n\r\n  return deferred.promise;\r\n};\r\n\r\n//...\r\n\r\nscreen.key(['C-a'], function () {\r\n  loading.load('excuting...');\r\n\r\n  git.add()\r\n    .fail(function (err) {\r\n      // TODO: show alert box\r\n      console.log(err);\r\n    })\r\n    .done(reload);\r\n});\r\n```\r\n"}}