javascript - 如何从调用函数之外的axios响应中获取数据
问题描述
我正在尝试从 axios GET 获取视频标题到视频 API:
// METHOD GETTING A VIDEO ID:
latestVideo(videoID) {
var self = this;
var title;
axios.get('http://video-api.dev/'+videoID)
.then(response => {
this.title = response.data.title
console.log(response.data.title) //returns the correct title
})
return title // returns nothing
}
控制台日志显示标题,但我需要将其传递给调用函数之外,以便在我的 Vue 应用程序中使用它。
我试过声明var self=this
,但似乎没有任何效果。我错过了什么吗?
解决方案
好吧,什么都不返回,因为您没有为变量分配任何值,当请求完成时,您必须将响应数据分配给变量:
latestVideo(videoID) {
// var self = this;
// var title;
axios.get('http://video-api.dev/'+videoID)
.then(response => {
this.title = response.data.title
console.log(response.data.title) //returns the correct title
})
// return title // not needed
}
this.title
然后,当承诺(请求)得到解决时,您可以从组件( )访问变量
如果您使用箭头语法,则不必使用 self 开关。
推荐阅读
- asp.net-core - ASP.NET Core OpenID Connect 中的单点注销
- node.js - SASL / 普通身份验证的 Kafka 配置是什么?
- spring - Spring:是否可以在使用@Transactional 注释的测试中测试事务回滚?
- reactjs - onClick 事件问题——next.js 和 typescript
- plugins - Dynamics 365 插件在不使用文件的情况下解析注释附件 XML
- python - Plotly 中的表格问题、导出的图像被截断和格式不连续
- wordpress - plugin_dir_url( __FILE__ ) 在我的 wordpress 插件开发中不起作用
- amazon-web-services - 带有无服务器的 Docker - 文件未打包到容器中
- apache-kafka - Spring Kafka - 一段时间后重新读取偏移量
- css - CSS:仅在一个方向旋转后更改宽度/高度