mirror of
https://github.com/koodiklinikka/koodiklinikka.fi.git
synced 2026-02-13 02:52:15 +00:00
Refactor .then()s to async functions
This commit is contained in:
@@ -5,37 +5,29 @@ import timeago from "timeago";
|
||||
import api from "./api";
|
||||
import transformers from "./feed-transformers";
|
||||
|
||||
function throwError(err) {
|
||||
setTimeout(() => {
|
||||
console.log(err.stack);
|
||||
throw err;
|
||||
});
|
||||
}
|
||||
|
||||
export default class Feed extends React.Component {
|
||||
state = {
|
||||
messages: [],
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
request
|
||||
.get(api("feeds"))
|
||||
this.updateFeed();
|
||||
}
|
||||
|
||||
.then(res => {
|
||||
const messages = _(res.data)
|
||||
.map((messages, type) => transformers[type](messages))
|
||||
.flatten()
|
||||
.value();
|
||||
async updateFeed() {
|
||||
const res = await request.get(api("feeds"));
|
||||
const messages = _(res.data)
|
||||
.map((messages, type) => transformers[type](messages))
|
||||
.flatten()
|
||||
.value();
|
||||
|
||||
this.setState({
|
||||
messages: _(messages)
|
||||
.sortBy("timestamp")
|
||||
.reverse()
|
||||
.value()
|
||||
.slice(0, 40),
|
||||
});
|
||||
})
|
||||
.catch(throwError);
|
||||
this.setState({
|
||||
messages: _(messages)
|
||||
.sortBy("timestamp")
|
||||
.reverse()
|
||||
.value()
|
||||
.slice(0, 40),
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
|
||||
@@ -12,7 +12,7 @@ export default class InviteForm extends React.Component {
|
||||
error: null,
|
||||
};
|
||||
|
||||
onSubmit = e => {
|
||||
onSubmit = async e => {
|
||||
e.preventDefault();
|
||||
|
||||
this.setState({
|
||||
@@ -21,12 +21,14 @@ export default class InviteForm extends React.Component {
|
||||
error: null,
|
||||
});
|
||||
|
||||
request
|
||||
.post(api("invites"), {
|
||||
try {
|
||||
await request.post(api("invites"), {
|
||||
email: this.state.email.trim(),
|
||||
})
|
||||
.then(this.handleSuccess)
|
||||
.catch(this.handleError);
|
||||
});
|
||||
this.handleSuccess();
|
||||
} catch (error) {
|
||||
this.handleError(error);
|
||||
}
|
||||
};
|
||||
|
||||
handleSuccess = () => {
|
||||
|
||||
@@ -9,19 +9,20 @@ export default class Members extends React.Component {
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
request.get(api("members")).then(
|
||||
function(res) {
|
||||
this.setState({
|
||||
members: _.shuffle(res.data),
|
||||
});
|
||||
}.bind(this)
|
||||
);
|
||||
this.refreshMembers();
|
||||
}
|
||||
|
||||
async refreshMembers() {
|
||||
const res = await request.get(api("members"));
|
||||
this.setState({
|
||||
members: _.shuffle(res.data),
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
var members = this.state.members.map(function(member, i) {
|
||||
var members = this.state.members.map(member => {
|
||||
var src = `${member.avatar_url}&s=120`;
|
||||
return <img className="member" key={i} src={src} />;
|
||||
return <img className="member" key={member.avatar_url} src={src} />;
|
||||
});
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user