我正尝试在我的ABC
函数内部使用API调用另一个函数,以检查remaing
是否可用。
如果还有可用的retun true
,其他return false
。下面是我的代码。但是我的控制台日志显示undefined
。我想以true
或{{1}的形式获取它}放在我的ABC函数中。
false
答案 0 :(得分:0)
要使在ABC
中创建的函数在其逻辑流代码中使用异步操作的结果,它必须是async
函数。您在async
中创建的Balance
函数没有任何用处,await true
处理程序中的await false
或then
也不起作用。
自然地,如果在ABC
中创建的函数是async
函数,则调用它的代码必须是async
函数或通过promise语法使用。
export function ABC(data,callback) {
return async function(dispatch, getState) {
// ----^^^^^
var res = dispatch(await Balance(data));
// ------------------^^^^^
console.log("Balance status",res)
//rest of code
if(res){
}
................
}
}
export function Balance(data) {
return function (dispatch, getState) {
const url = `api/.../balances`;
axios.post(`${url}`,
data
).then(function(response) {
return response.data.remaing > 0; // ***
});
};
}
(真的是remaing
,不是[say] remaining
吗?)