sql server Angularjs asp.netmvc中数据更新前显示记录的搜索方法
函数更新一些记录。更新记录后,我调用搜索方法在视图中显示数据 但记录并并没有在并没有获取数据的搜索方法调用之前更新,所以在视图上显示null 我有一个单独的按钮在它的ng上搜索点击这个搜索方法调用。几秒钟后,如果我点击那个按钮,它会显示视图中的数据 我的密码是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,
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)时调用code>,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);
});
其实我以前也试过这个,因为我脑子里也有同样的想法,但在那个时候它对我不起作用。但我知道我再试一次,可能是我以后加了烤面包机。但是谢谢你的帮助。