Skip to content

Commit

Permalink
Async message data!
Browse files Browse the repository at this point in the history
But what if the message data is user specific? The data needs to be isolated per request instead of pushed into a shared store.
  • Loading branch information
Michael Ridgway committed Nov 5, 2014
1 parent ddeb9c8 commit 619eee3
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 68 deletions.
2 changes: 1 addition & 1 deletion actions/addMessage.js
@@ -1,5 +1,5 @@
var dispatcher = require('../lib/dispatcher');
var i = require('../data/messages').length;
var i = 7;

module.exports = function (payload) {
var message = payload;
Expand Down
19 changes: 13 additions & 6 deletions actions/showMessages.js
@@ -1,9 +1,16 @@
var messages = require('../data/messages');
var dispatcher = require('../lib/dispatcher');
var superagent = require('superagent');

module.exports = function () {
dispatcher.dispatch({
type: 'RECEIVE_MESSAGES',
messages: messages
});
module.exports = function (payload, done) {
superagent
.get('https://rawgit.com/mridgway/10be75846faa22eb6e22/raw/')
.set('Accept', 'application/json')
.end(function (res) {
var messages = JSON.parse(res.text);
dispatcher.dispatch({
type: 'RECEIVE_MESSAGES',
messages: messages
});
done();
});
};
10 changes: 7 additions & 3 deletions client.js
Expand Up @@ -2,10 +2,14 @@ var React = require('react');
var ChatApp = React.createFactory(require('./components/ChatApp.jsx'));
window.React = React; // For debug tools

React.render(ChatApp(), document.getElementById('app'), function (err) {
var showMessages = require('./actions/showMessages');
showMessages({}, function (err) {
if (err) {
throw err;
}
var showMessages = require('./actions/showMessages');
showMessages();
React.render(ChatApp(), document.getElementById('app'), function (err) {
if (err) {
throw err;
}
});
});
44 changes: 0 additions & 44 deletions data/messages.js

This file was deleted.

3 changes: 2 additions & 1 deletion package.json
Expand Up @@ -15,7 +15,8 @@
"flux": "^2.0.1",
"node-jsx": "^0.12.0",
"object-assign": "^1.0.0",
"react": "^0.12.0"
"react": "^0.12.0",
"superagent": "^0.20.0"
},
"devDependencies": {
"jsx-loader": "^0.12.1",
Expand Down
30 changes: 17 additions & 13 deletions server.js
Expand Up @@ -10,20 +10,24 @@ var ChatApp = React.createFactory(require('./components/ChatApp.jsx'));
var showMessages= require('./actions/showMessages');

server.get('/', function (req, res, next) {
showMessages();
showMessages({}, function (err) {
if (err) {
next(err);
return;
}
var html = React.renderToString(ChatApp());

var html = React.renderToString(ChatApp());

res.write('<html>');
res.write('<head>');
res.write('<title>Chat</title>');
res.write('</head>');
res.write('<body>');
res.write('<div id="app">' + html + '</div>');
res.write('</body>');
res.write('<script src="/build/js/client.js"></script>')
res.write('</html>');
res.end();
res.write('<html>');
res.write('<head>');
res.write('<title>Chat</title>');
res.write('</head>');
res.write('<body>');
res.write('<div id="app">' + html + '</div>');
res.write('</body>');
res.write('<script src="/build/js/client.js"></script>')
res.write('</html>');
res.end();
});
});


Expand Down

0 comments on commit 619eee3

Please sign in to comment.