I'm attempting to retrieve the results from a promise with an async / await but and receiving the following error:
544:1 Uncaught Error: Module build failed: SyntaxError: await is a reserved word (30:23)
Here's my code:
import React from 'react';
import Header from './Header';
import Feed from './Feed';
import _ from 'lodash';
const Cosmic = require('cosmicjs')();
export default class WhereSheGoes extends React.Component {
constructor (props) {
super(props);
this.state = {
destinations: '',
posts: '',
globals: '',
}
}
render() {
const bucket = Cosmic.bucket({
slug: 'where-she-goes',
read_key: '',
write_key: ''
});
const retrieveBucket = async () => {
try {
let result = bucket.getBucket()
return result
} catch (err) {
console.log(err)
}
}
const result = await retrieveBucket()
console.log(result)
this.setState (() => {
return {
destinations: _.filter(result.bucket.objects, {type_slug: 'destinations'}),
posts: _.filter(result.bucket.objects, {type_slug: 'posts'}),
globals: _.filter(result.bucket.objects, {type_slug: 'globals'})
}
});
return (
<div>
<Header
destinations={this.state.destinations}
posts={this.state.posts}
globals={this.state.globals}
/>
<Feed
posts={this.state.posts}
destinations={this.state.destinations}
/>
</div>
);
}
}
I can get the above to run but only if I return the result and set the state within the actual async function. How do I return the result of a promise outside of that function?
Thanks!