【发布时间】:2019-02-04 19:04:31
【问题描述】:
我有一个可以容纳其他对象的对象。
import Axios from "axios";
let API = {
get:{
dogPicture: () =>
{
Axios.get("https://dog.ceo/api/breeds/image/random")
.then(res => {
//this.setState({wiseDog:res.data.message})
//this.setState({isLoading:false})
})
.catch( err => {
//this.setState({error:err.data.message})
})
},
dogFact: () =>
{
Axios.get("/facts")
.then( response => {
//this.setState({DogFact:response.data.facts[0]})
//this.setState({isLoading:false})
return response.data.facts[0];
})
.catch( err => {
console.log("still error", err)
//this.setState({error:err})
return err;
})
},
test: () => "test"
}
}
export default API;
如果我导入它并调用
let message = API.get.test();
它将返回字符串测试。
但是,如果我尝试从我的dogPicture 或我的dogFact 的回复返回资源,
它返回undefined。
如果我尝试console.log(res),它会显示正确的预期值。
调用这些函数时如何返回从 res 和 response 获得的值?
【问题讨论】:
-
请参阅How do I return the response from an aynchronous call,这是重复的。了解异步编程非常重要。
-
我很高兴dog.ceo 是一个东西。