我在javascript中调用了telerik Grid的grid.submitchanges()(FUNCTION1),这是一个异步调用,并且在FUNCTION1之后有一个ajax同步回调(FUNCTION2)。
问题是有时FUNCTION2在FUNCTION1完成之前被执行,因为FUNCTION1是异步调用。
但是我需要FUNCTION2仅在FUNCTION1完成后才能执行。
那么,有什么方法可以获取Telerik网格SubmitChanges(FUNCTION1)的回调?
要么
我可以使Telerik网格SubmitChanges(FUNCTION1)进行同步调用吗?
码-:
//功能1
if (grid != undefined && grid.hasChanges()) {
grid.submitChanges();
}
//功能2
$.ajax({
url: urlForTheController,
type: 'GET',
async: false,
cache: false,
data: { TotalConAssociation: noOfRows },
success: function (data) {
$('#AssociationWithDocument').data('tWindow').close();
showConcepts(currentConceptIndex);
},
最佳答案
不知道您正在使用的API的确切工作方式(欢迎使用链接)...
您可以仅在function1的代码内添加对function2的调用。
另一个解决方案是对两个函数进行串行组合,并将其作为submitchanges的回调传递。有一些库可以帮助您避免嵌套过多,例如async或promises。