我正在关注Vue教程,并且不确定如何在不使用axios.get
的情况下处理then
的情况下await
<script>
// @ is an alias to /src
import axios from 'axios';
export default {
name: 'home',
components: {
},
data(){
return {
fecha: '',
maximo: new Date().toISOString().substr(0, 10),
minimo: '1984',
resultado: null
}
},
methods:{
async getDolar(dia){
console.log(`https://mindicador.cl/api/dolar/${dia}`);
let resultado = await axios.get(`https://mindicador.cl/api/dolar/${dia}`);
return resultado;
}
},
created(){
let hoy = new Date().toISOString().substr(0, 10).split('-').reverse().join('-');
this.resultado = this.getDolar(hoy);
console.log(this.resultado)//it's a promise
}
}
</script>
在没有then
的情况下也可以得到json响应吗?
答案 0 :(得分:1)
等等,对于任何承诺,您都可以使用await来获取其价值:
async created() {
let hoy = new Date().toISOString().substr(0, 10).split('-').reverse().join('-');
this.resultado = await this.getDolar(hoy);
console.log(this.resultado.data)
}
答案 1 :(得分:0)
是的,await也可以这样做。但是,异步/等待是ECMAScript 2017的一部分,并且Internet Explorer和较旧的浏览器不支持async / await,因此您必须谨慎使用ECMAScript 2017的浏览器可用性。
// Want to use async/await? Add the `async` keyword to your outer function/method.
async function getUser() {
try {
const response = await axios.get('/user?ID=12345');
console.log(response);
} catch (error) {
console.error(error);
}
}