sql server Angularjs asp.netmvc中数据更新前显示记录的搜索方法

sql server Angularjs asp.netmvc中数据更新前显示记录的搜索方法,angularjs,asp.net-mvc,asp.net-mvc-5,updates,execution,Angularjs,Asp.net Mvc,Asp.net Mvc 5,Updates,Execution,函数更新一些记录。更新记录后,我调用搜索方法在视图中显示数据 但记录并并没有在并没有获取数据的搜索方法调用之前更新,所以在视图上显示null 我有一个单独的按钮在它的ng上搜索点击这个搜索方法调用。几秒钟后,如果我点击那个按钮,它会显示视图中的数据 我的密码是 vm.Update = function (value) { var test = value; searchCriteria = { From: vm.From,

函数更新一些记录。更新记录后,我调用搜索方法在视图中显示数据

但记录并并没有在并没有获取数据的搜索方法调用之前更新,所以在视图上显示null

我有一个单独的按钮在它的ng上搜索点击这个搜索方法调用。几秒钟后,如果我点击那个按钮,它会显示视图中的数据

我的密码是

vm.Update = function (value)
    {
        var test = value;
        searchCriteria = {
            From: vm.From,
            To: vm.To,
            Region: vm.Region,
            City: vm.SelectedCity
        }        
        surveyService.UpdateVisit(searchCriteria,value).then(function (d) {
            var Confrm = JSON.parse(d.data.data);
            if (d.data.status) {
                toastr.success(Updated, {
                    autoDismiss: false
                });
            }
            else {
                toastr.error(errorMsg);
            }
        });
        vm.searchVisit(0);
    }
此searchvisit呼叫和服务无法更新数据库中的数据,因此我无法查看任何记录。当我从单独的按钮调用searchvisit方法进行搜索时,它会显示带有更新数据的记录

希望得到您的建议,如何在调用searchvisit方法之前暂停执行,或者在调用searchvisit方法之前获得任何响应,而不是将执行控制移动到searchvisit方法


谢谢

这是由于JS中的异步特性

从您的代码中,
surveyService.UpdateVisit(searchCriteria,value)
返回承诺。因此,当
vm.searchVisit(0)时
surveyService.UpdateVisit(searchCriteria,value)
尚未解析,这意味着更新仍在进行中且尚未完成。有
vm.searchVisit(0)显示未更新的记录

如果第二个函数依赖于第一个函数调用的值,请将其添加到成功回调中,如下所示

surveyService.UpdateVisit(searchCriteria,value).then(function (d) {
        var Confrm = JSON.parse(d.data.data);
        if (d.data.status) {
            toastr.success(Updated, {
                autoDismiss: false
            });
        }
        else {
            toastr.error(errorMsg);
        }
        //Add this here. 
        vm.searchVisit(0);
    });

其实我以前也试过这个,因为我脑子里也有同样的想法,但在那个时候它对我不起作用。但我知道我再试一次,可能是我以后加了烤面包机。但是谢谢你的帮助。