1

我在javascript中调用telerik Grid的grid.submitchanges()(FUNCTION1),这是一个异步调用,在FUNCTION1之后有一个ajax同步回调(FUNCTION2 )。

问题是有时 FUNCTION2 在 FUNCTION1 完成之前被执行,因为 FUNCTION1 是异步调用。

但我需要 FUNCTION2 仅在 FUNCTION1 完成后执行。

那么有什么方法可以获取 Telerik 网格 submitChanges(FUNCTION1)的回调吗?或者我可以让telerik grid 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);
        },
4

1 回答 1

0

在不知道您正在使用的 API 的确切工作原理的情况下(欢迎提供链接)...

您可以在 function1 的代码中添加对 function2 的调用。

另一种解决方案是对两个函数进行串行组合,并将其作为 submitchanges 的回调传递。有一些库可以帮助您不要嵌套太多,例如asyncpromises

于 2014-07-31T16:51:26.923 回答