Javascript 如何修复解析错误:无法使用关键字';等待&x27;在异步函数之外
从下面的代码中获取一条错误消息,提示解析错误:无法在异步函数外部使用关键字“wait”,以执行Redux操作 写这个的正确方法是什么Javascript 如何修复解析错误:无法使用关键字';等待&x27;在异步函数之外,javascript,asynchronous,redux,Javascript,Asynchronous,Redux,从下面的代码中获取一条错误消息,提示解析错误:无法在异步函数外部使用关键字“wait”,以执行Redux操作 写这个的正确方法是什么 export async function getData() { return (dispatch) => { try { const data = await API.graphql(graphqlOperation(query)) dispatch({ type: "DATA_AVAILABLE", data: da
export async function getData() {
return (dispatch) => {
try {
const data = await API.graphql(graphqlOperation(query))
dispatch({ type: "DATA_AVAILABLE", data: data.data.listData.items });
} catch(err) {
console.log('error: ', err)
}
}
}
对于
内部
函数,您需要有async
关键字
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)
}
}
}
对于
内部
函数,您需要有async
关键字
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)
}
}
}
您也可以从返回函数中提取等待函数,并将
dispatch
作为参数传递给getData
函数
export async function getData(dispatch) {
const data = await API.graphql(graphqlOperation(query))
dispatch({ type: "DATA_AVAILABLE", data: data.data.listData.items });
}
那么你叫它:
var dispatchFunc = function (params) {console.log(params);}
getData(dispatchFunc).then(function() {}).catch(function(err) { ... })
您也可以从返回函数中提取等待函数,并将
dispatch
作为参数传递给getData
函数
export async function getData(dispatch) {
const data = await API.graphql(graphqlOperation(query))
dispatch({ type: "DATA_AVAILABLE", data: data.data.listData.items });
}
那么你叫它:
var dispatchFunc = function (params) {console.log(params);}
getData(dispatchFunc).then(function() {}).catch(function(err) { ... })
return(dispatch)=>{
不是async
return async(dispatch)=>{
在export async function getData()中不需要异步
@CertainPerformance也尝试了export const getUserJournals=()=>async(dispatch)=>{…}
但不起作用:(return(dispatch)=>{
不是async
返回async(dispatch)=>{在导出异步函数getData()中不需要异步
@CertainPerformance也尝试了导出const getUserJournals=()=>异步(dispatch)=>{…}
,但没有成功:(感谢您的评论!错误消息消失了,但仍然没有从API中获取数据…当它在我的开发环境中使用AWS amplify时,它实际上似乎可以工作,但在我的本地环境中不工作。不确定为什么会出现qraphql查询在您的本地环境中无法正常工作的情况。您知道在我的本地环境中调试它吗?这是工作!我在其他地方遇到了一个问题。谢谢你的回答。谢谢你的评论!错误消息消失了,但仍然无法从API获取数据…当它在我的开发环境中使用AWS amplify时,它实际上似乎可以工作,但在我的本地环境中不工作。不确定为什么会出现qraphql查询不工作的情况特别是在您的本地有没有想法在我的本地调试它?这很有效!我在其他地方遇到了一个问题。谢谢您的回答。Getting错误:TypeError:dispatch不是一个函数更新了我的解释更新了我的postGettingUncaught(承诺中)TypeError:dispatch这次不是一个函数
。但是你应该以函数形式传递dispatch错误:TypeError:dispatch不是一个函数
更新了我的解释更新了我的postGetting未完成(承诺)TypeError:dispatch这次不是一个函数
。但是你应该以函数形式传递dispatch