{"action":"created","issue":{"url":"https://api.github.com/repos/ufront/ufront-mvc/issues/15","labels_url":"https://api.github.com/repos/ufront/ufront-mvc/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/ufront/ufront-mvc/issues/15/comments","events_url":"https://api.github.com/repos/ufront/ufront-mvc/issues/15/events","html_url":"https://github.com/ufront/ufront-mvc/pull/15","id":73652384,"number":15,"title":"Add async View/Json/RedirectResult","user":{"login":"kevinresol","id":1103788,"avatar_url":"https://avatars.githubusercontent.com/u/1103788?v=3","gravatar_id":"","url":"https://api.github.com/users/kevinresol","html_url":"https://github.com/kevinresol","followers_url":"https://api.github.com/users/kevinresol/followers","following_url":"https://api.github.com/users/kevinresol/following{/other_user}","gists_url":"https://api.github.com/users/kevinresol/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinresol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinresol/subscriptions","organizations_url":"https://api.github.com/users/kevinresol/orgs","repos_url":"https://api.github.com/users/kevinresol/repos","events_url":"https://api.github.com/users/kevinresol/events{/privacy}","received_events_url":"https://api.github.com/users/kevinresol/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-05-06T15:16:52Z","updated_at":"2015-05-15T06:58:06Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ufront/ufront-mvc/pulls/15","html_url":"https://github.com/ufront/ufront-mvc/pull/15","diff_url":"https://github.com/ufront/ufront-mvc/pull/15.diff","patch_url":"https://github.com/ufront/ufront-mvc/pull/15.patch"},"body":"Similar to ViewResult but accept a `Future<TemplateData>` instead of `TemplateData`. So this will work well with `AsyncApi`.\r\n\r\nexample:\r\n```haxe\r\n@:route(GET, \"/profile/$id\")\r\npublic function profile(id:Int):ActionResult\r\n{\r\n\tvar templateDataFuture = asyncAuthApi.getUser(id).map(function(user):Dynamic return {profile:user.profile});\r\n\t\r\n\treturn new AsyncViewResult(templateDataFuture);\r\n}\r\n```\r\n\r\nNote: we can't create closures calling `super.method`, so I moved the code to `internalExecuteResult()`"},"comment":{"url":"https://api.github.com/repos/ufront/ufront-mvc/issues/comments/102290693","html_url":"https://github.com/ufront/ufront-mvc/pull/15#issuecomment-102290693","issue_url":"https://api.github.com/repos/ufront/ufront-mvc/issues/15","id":102290693,"user":{"login":"jasononeil","id":315158,"avatar_url":"https://avatars.githubusercontent.com/u/315158?v=3","gravatar_id":"","url":"https://api.github.com/users/jasononeil","html_url":"https://github.com/jasononeil","followers_url":"https://api.github.com/users/jasononeil/followers","following_url":"https://api.github.com/users/jasononeil/following{/other_user}","gists_url":"https://api.github.com/users/jasononeil/gists{/gist_id}","starred_url":"https://api.github.com/users/jasononeil/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasononeil/subscriptions","organizations_url":"https://api.github.com/users/jasononeil/orgs","repos_url":"https://api.github.com/users/jasononeil/repos","events_url":"https://api.github.com/users/jasononeil/events{/privacy}","received_events_url":"https://api.github.com/users/jasononeil/received_events","type":"User","site_admin":false},"created_at":"2015-05-15T06:58:06Z","updated_at":"2015-05-15T06:58:06Z","body":"I should be able to pull these together fairly quickly.  Do you think the extra parameters need to be `Futuristic` as well?\r\n\r\nTo use RedirectResult as an example:\r\n\r\n    public function new( url:Futuristic<String>, permanentRedirect:Bool )\r\n    or\r\n    public function new( url:Futuristic<String>, permanentRedirect:Futuristic<Bool> )\r\n\r\nI might just start with the main piece of data for each action type, and we can support the others later if we want, because the change is unlikely to break anybody's code."}}