我在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的回调传递。有一些库可以帮助您避免嵌套过多,例如asyncpromises

10-08 18:15