此问题在此处已有答案:
How do I return the response from an asynchronous call?(44个答案)
上个月关门了。
我尝试在nextjs中使用axios从一个免费的api https://catfact.ninja/fact
中获取一些数据,但得到的承诺待定。
httpClient.js:
import axios from "axios";
const GET_CATS = "https://catfact.ninja/fact";
export const getCats = async () => {
try {
return await axios.get(GET_CATS);
} catch (e) {
console.log("ERROR", e.message);
}
};
index.js:
import { getCats } from "./api/httpClient";
const Home = ({ data }) => {
console.log(getCats());
return <div></div>;
};
export default Home;
所以我很困惑为什么承诺没有解决,因为我已经在httpClient.js中async
await
API调用
1条答案
按热度按时间pbpqsu0x1#
正如评论者所说--您并不是在等待组件中的结果。
getCats
返回一个承诺,因此当它被实现时,您需要对结果做一些事情: