Getting a error message saying Parsing error: Can not use keyword \'await\' outside an async function
from below code for Redux action.
What is the proper w
You need to have async
keyword for the inner
function
export function getData() {
return async (dispatch) => {
try {
const data = await API.graphql(graphqlOperation(query))
dispatch({ type: "DATA_AVAILABLE", data: data.data.listData.items });
} catch(err) {
console.log('error: ', err)
}
}
}
You can pull your await function out of your return function as well and pass dispatch
as a param to getData
function.
export async function getData(dispatch) {
const data = await API.graphql(graphqlOperation(query))
dispatch({ type: "DATA_AVAILABLE", data: data.data.listData.items });
}
then you call it:
var dispatchFunc = function (params) {console.log(params);}
getData(dispatchFunc).then(function() {}).catch(function(err) { ... })