![](/img/trans.png)
[英]Get value from promise react native and cominbing to Axios header
[英]VueJS get value from an axios promise
我有这个代码
<a href="#" class="video" @click.prevent="checkVideo(subItem.id)" :id="subItem.id" data-toggle="modal" data-target="#playerModal">{{subItem.name}}<span>{{getDuration(subItem.id)}}</span></a>
async getDuration(id) {
var duration = '';
await axios.post('/api/v1/checkvideo', {
menu: id
})
.then(function (response) {
console.log(response.data[0].datas.duration)
return response.data[0].datas.duration;
});
//console.log(duration);
//return duration;
},
问题是console.log
显示了预期的值但是在Vue渲染上我得到了这个[object Promise]
我想知道如何在promise解析后显示值。
谢谢你的帮助
您的代码是返回axios,它是一个promise对象。 如果你想返回最后的持续时间。 您应该等待axios承诺并返回响应。
async getDuration(id) {
var duration = '';
const response = await axios.post('/api/v1/checkvideo', {
menu: id
})
return response.data[0].datas.duration;
}
由于async
返回一个promise,[object Promise]将始终在屏幕上呈现。 如果你想获得特定id的持续时间,我认为这是正确的。
data() {
return {
id: null, // Maybe you should store the value of `id` here
duration: null
}
},
mounted() {
this.getDuration(this.id)
},
methods: {
async getDuration(id) {
var duration = '';
const response = await axios.post('/api/v1/checkvideo', {
menu: id
})
this.duration = response.data[0].datas.duration;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.