Skip to content

Instantly share code, notes, and snippets.

@alexhawkins
Created June 20, 2017 02:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexhawkins/84ca3e1989fc5a1ae9d06d5fb587ae81 to your computer and use it in GitHub Desktop.
Save alexhawkins/84ca3e1989fc5a1ae9d06d5fb587ae81 to your computer and use it in GitHub Desktop.
import React from 'react'
class AsyncAwait extends React.Component {
constructor() {
super()
this.state = {}
}
async componentDidMount() {
const res = await this.context.api.fetch('/logout', { method: 'POST' }).then(() => {
this.context.api.environment.getStore().getSource().clear();
this.context.router.push(location.pathname);
});
const { ip } = await res.json()
await this.setStateAsync({ ipAddress: ip })
}
setStateAsync(state) {
return new Promise((resolve) => {
this.setState(state, resolve)
})
}
render() {
return (
<div
My IP is {this.state.ipAddress || 'Unknown'}
</div>
)
}
}
export default AsyncAwait
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment