大家好,我正在做一个公理,用来更新我的数据。然而,我得到了一个不明确的回应。提前谢谢你
函数调用Axios:
export function exUpdateMovie(movie) {
Axios.put(baseURL + "/api/update", {
movieName: movie.movieName,
movieReview: movie.movieReview,
id: movie.id,
})
.then((response) => {
// console.log(response);
return response;
})
.catch((e) => {
console.log(e);
return e;
});
}函数在app.js中调用exUpdateMovie(电影)函数:
const handleUpdateMovie = (movie) => {
console.log("UpdateMovie Passed!");
try {
const res = exUpdateMovie(movie);
alert(res?.data);
} catch (error) {
console.log(error);
}
};当我警告我的响应时输出是:未定义的
结清:
handleUpdateMovie
return Axios.put()返回Axios。
为帮助我干杯。非常感谢
发布于 2022-06-17 11:40:17
因为exUpdateMovie什么都不回。回报承诺:
export function exUpdateMovie(movie) {
return Axios.put(/* all your Axios code */);
}然后,在消费结果时,将其视为一种承诺:
exUpdateMovie(movie).then(res => {
alert(res?.data);
});发布于 2022-06-17 11:42:11
是的,因为您的api调用正在返回一个承诺,在那里您需要等待承诺执行完成,所以让您的函数异步,并包装API调用等待。
export async function exUpdateMovie(movie) {
const result = await Axios.put(baseURL + "/api/update", {
movieName: movie.movieName,
movieReview: movie.movieReview,
id: movie.id,
})
return result
}
const handleUpdateMovie = async (movie) => {
console.log("UpdateMovie Passed!");
try {
const res = await exUpdateMovie(movie);
alert(res?.data);
} catch (error) {
console.log(error);
}
};https://stackoverflow.com/questions/72658721
复制相似问题