{"action":"created","issue":{"url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/1139","repository_url":"https://api.github.com/repos/mxstbr/react-boilerplate","labels_url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/1139/labels{/name}","comments_url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/1139/comments","events_url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/1139/events","html_url":"https://github.com/mxstbr/react-boilerplate/issues/1139","id":184708636,"number":1139,"title":"Redux-observable","user":{"login":"sedubois","id":4217871,"avatar_url":"https://avatars.githubusercontent.com/u/4217871?v=3","gravatar_id":"","url":"https://api.github.com/users/sedubois","html_url":"https://github.com/sedubois","followers_url":"https://api.github.com/users/sedubois/followers","following_url":"https://api.github.com/users/sedubois/following{/other_user}","gists_url":"https://api.github.com/users/sedubois/gists{/gist_id}","starred_url":"https://api.github.com/users/sedubois/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sedubois/subscriptions","organizations_url":"https://api.github.com/users/sedubois/orgs","repos_url":"https://api.github.com/users/sedubois/repos","events_url":"https://api.github.com/users/sedubois/events{/privacy}","received_events_url":"https://api.github.com/users/sedubois/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mxstbr/react-boilerplate/labels/discussion","name":"discussion","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2016-10-23T19:09:01Z","updated_at":"2016-10-26T08:34:29Z","closed_at":null,"body":"Netflix's new [redux-observable](https://redux-observable.js.org/) library looks quite promising (hah) to handle async state by integrating Redux's pure state change logic with [RxJS](https://github.com/Reactive-Extensions/RxJS) observables taking care of the side-effects. Observables offer two main advantages compared to Promises:\r\n- side-effects are automatically cancellable, no need to manually handle subscription lifecycle\r\n- can stream any number of events (promises succeed/fail only exactly once)\r\n\r\nBesides bringing the principles of functional reactive programming, it can integrate with various other observable streams and languages.\r\n\r\nIn general, starting afresh, do you think redux-observable is the way to go and the future of async state management 👍 or is redux-saga the superior choice 👎 ? Why?\r\n\r\nThere is a proposal to add Observables within ES like was done for Promises. I'm not aware of syntax sugar like the yield/*/async/await available for Promises, though.\r\n\r\nOne side-question I have is, how well would this integrate with code dealing with GraphQL APIs (now and in the future)? I guess they are synchronized through the Store or combined within each Component.\r\n\r\n[More learning](https://www.learnrxjs.io/) on RxJS.\r\n\r\n<div align=\"center\">\r\n  <img src=\"http://reactivex.io/assets/Rx_Logo_S.png\" />\r\n  <img src=\"https://redux-observable.js.org/logo/logo-small.gif\" width=\"100px\" />\r\n</div>"},"comment":{"url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/comments/256283487","html_url":"https://github.com/mxstbr/react-boilerplate/issues/1139#issuecomment-256283487","issue_url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/1139","id":256283487,"user":{"login":"sedubois","id":4217871,"avatar_url":"https://avatars.githubusercontent.com/u/4217871?v=3","gravatar_id":"","url":"https://api.github.com/users/sedubois","html_url":"https://github.com/sedubois","followers_url":"https://api.github.com/users/sedubois/followers","following_url":"https://api.github.com/users/sedubois/following{/other_user}","gists_url":"https://api.github.com/users/sedubois/gists{/gist_id}","starred_url":"https://api.github.com/users/sedubois/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sedubois/subscriptions","organizations_url":"https://api.github.com/users/sedubois/orgs","repos_url":"https://api.github.com/users/sedubois/repos","events_url":"https://api.github.com/users/sedubois/events{/privacy}","received_events_url":"https://api.github.com/users/sedubois/received_events","type":"User","site_admin":false},"created_at":"2016-10-26T08:34:29Z","updated_at":"2016-10-26T08:34:29Z","body":"Thanks @jayphelps. The only reason I brought the subject is because RBP already uses redux-saga, and wanted to see if it made sense to \"replace\" it with redux-observable."}}
{"actor":{"display_login":"sedubois"}}