axios returns 承诺而不是数据
axios returns promise instead of data
我正在使用 axios 从 IPFS 查询一些数据,问题是在调用特定 api 之后 return 值是 axios 的承诺。
const getNFTDetail = async (url: string) => {
const urlIPF = url.replace("ipfs://", "https://cloudflare-ipfs.com/ipfs/");
try {
return await axios.get(urlIPF).then((res) => {
return res.data;
});
} catch (error) {
console.log(error);
}
};
我得到的响应:
有没有办法等到 promise 被解决?如你所见,我已经在函数调用上使用了 async await。
只是,决定你是使用 async / await 还是 .then / .catch:
const getNFTDetail = async (url: any) => {
const urlIPF = url.replace("ipfs://", "https://cloudflare-ipfs.com/ipfs/");
const { data } = await axios.get(urlIPF);
return data;
};
或
const getNFTDetail = (url: any) => {
const urlIPF = url.replace("ipfs://", "https://cloudflare-ipfs.com/ipfs/");
axios.get(urlIPF).then(({data}) => {
// use your data here
}).catch((err)=>{
console.log(err);
};
};
当您获取请求时,无论您使用任何 http 客户端,都会 return 一个 Promise。
只需使用 await
即可从您的请求中获得响应。
const response = await axios.get(your-url);
const json = await response.json();
要正确使用 typescript,请输入 url 字符串:(url: string)
而不是 happy any
类型。
我正在使用 axios 从 IPFS 查询一些数据,问题是在调用特定 api 之后 return 值是 axios 的承诺。
const getNFTDetail = async (url: string) => {
const urlIPF = url.replace("ipfs://", "https://cloudflare-ipfs.com/ipfs/");
try {
return await axios.get(urlIPF).then((res) => {
return res.data;
});
} catch (error) {
console.log(error);
}
};
我得到的响应:
有没有办法等到 promise 被解决?如你所见,我已经在函数调用上使用了 async await。
只是,决定你是使用 async / await 还是 .then / .catch:
const getNFTDetail = async (url: any) => {
const urlIPF = url.replace("ipfs://", "https://cloudflare-ipfs.com/ipfs/");
const { data } = await axios.get(urlIPF);
return data;
};
或
const getNFTDetail = (url: any) => {
const urlIPF = url.replace("ipfs://", "https://cloudflare-ipfs.com/ipfs/");
axios.get(urlIPF).then(({data}) => {
// use your data here
}).catch((err)=>{
console.log(err);
};
};
当您获取请求时,无论您使用任何 http 客户端,都会 return 一个 Promise。
只需使用 await
即可从您的请求中获得响应。
const response = await axios.get(your-url);
const json = await response.json();
要正确使用 typescript,请输入 url 字符串:(url: string)
而不是 happy any
类型。