Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在get请求完成之前停止Vuejs中的执行_Javascript_Vue.js - Fatal编程技术网

Javascript 如何在get请求完成之前停止Vuejs中的执行

Javascript 如何在get请求完成之前停止Vuejs中的执行,javascript,vue.js,Javascript,Vue.js,我有以下代码从api端点请求数据: fetchStudentMeta: function(){ var vm = this; this.$http.get('/api/1.0/students/metadata/ '+ this.selectedStudent.id) .then(function (response){ this.$set('meta', response.data); console.log(vm

我有以下代码从api端点请求数据:

fetchStudentMeta: function(){
    var vm = this;
    this.$http.get('/api/1.0/students/metadata/ '+ this.selectedStudent.id)
        .then(function (response){
            this.$set('meta', response.data);
            console.log(vm.meta); //line1
        });
    console.log(this.meta); //line2
},

在我的控制台和执行中,第2行在第1行之前处理。在从get请求数据设置my变量之前,是否有停止执行的方法?

第一行放在
then()
闭包中,这意味着在请求完成之前不会处理,而在请求启动后立即处理第二行


问题是,您实际上是想用
this.meta
属性(第2行)做什么?如果要强制转换,可以使用
computed
,也可以
$dispatch()
$broadcast()
触发事件。

在得到响应之前执行ajax async false,然后再次执行synchronous@NitinDhomse这不是一个好的做法,出于此目的,使调用同步。是否只记录一些语句或其他内容?否,我希望获取请求的结果并在子级中使用它component@Rohit416是的,我知道,但我们可以这样做,直到得到响应并将其恢复为同步。类似于jQuery.ajaxSetup({async:false});ajaxSetup({async:true});感谢见到这位伙伴,我实际上得到了一个$broadcast,提醒孩子们开始表演。我将根据这一点来选择你的答案,你一针见血。