好的,這是我遇到困難的一些基本 Vue:
我正在嘗試從在線可用的動漫 API 中獲取一些資料(動漫)
我有 Anime.vue(即視圖頁面)和 getAnime.js(包含該函式)。當我在 Anime.vue 檔案中使用該功能時,它可以作業,但我試圖將其分開,現在我無法將影片發送到 vue 頁面。這是代碼:
Anime.vue(僅包含腳本部分)
<script>
import getAnime from "../composables/getAnime";
export default {
data() {
return {};
},
setup() {
let anime = getAnime();
console.log(anime); //this returns Promise pending on console
},
};
</script>
和這個 getAnime.js 檔案:
async function getAnime() {
const axios = require("axios");
let anime = ''
try {
const response = await axios.get("https://api.jikan.moe/v3/anime/" 20)
.then((res) => {
anime = res.data
console.log(anime) //this returns the anime file as {request hash...
})
} catch (error) {
console.log(error);
}
return anime
}
export default getAnime
uj5u.com熱心網友回復:
嘗試這個:
async function getAnime() {
const axios = require("axios");
try {
const response = await axios.get("https://api.jikan.moe/v3/anime/" 20);
return response;
} catch (error) {
console.log(error);
}
}
export default getAnime
uj5u.com熱心網友回復:
async函式隱式回傳一個 Promise,所以你需要await結果。
async function getAnime() {
const axios = require("axios");
try {
const response = await axios.get("https://api.jikan.moe/v3/anime/" 20);
return response;
} catch (error) {
console.log(error);
throw error;
}
}
export default getAnime;
在你的 vue 檔案中:
try {
const animeData = await getAnime();
} catch(e) {
// handle errors
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/378495.html
標籤:javascript Vue.js
上一篇:vuejs用逗號和句點分隔錢
