异步 Javascript 函数不是 运行

async Javascript functions not running

我在 Javascript 中有 2 个异步函数。一个调用 MVC 控制器加载 table 个“展示位置”,另一个删除单个展示位置。这个想法是点击一个按钮将展示位置加载到模态弹出窗口中,然后每一行都有一个删除按钮来删除单个展示位置,然后在删除函数之后调用相同的 editPlacementHeader 函数以重新打开模态并显示再次table。

问题是当我点击按钮显示展示位置时,在控制台中出现以下错误 -

Uncaught SyntaxError: await is only valid in async functions, async generators and modules

据我所知,该函数是异步的。

如果我从 JS 代码中删除所有异步和等待,模态加载,一天被删除但模态没有关闭并重新打开,除非我在 C# 代码上放置一个断点将数据加载到“暂停”然后就可以了。

JS代码-

async function editPlacementHeader(id) {
    let e = $.Event();

    e.preventDefault();

     $("#EditPlacementHeaderPopup").modal("hide");
     $("#EditPlacementPopup").modal("hide");

      await $.ajax({
          url: '/WeeklyPlacement/EditPlacementHeader?bookingId=' + id,
          type: 'POST',
          dataType: 'html',
           contentType: "application/json; charset=utf-8",
           success: function(response) {
                $("#dvEditPlacementHeaderPartial").html(response);
                $("#EditPlacementHeaderPopup").modal("show");
             }
         });
};

async function deleteDay(id, bookingId) {
    let e = $.Event();

    e.preventDefault();

    $.ajax({
        url: '/WeeklyPlacement/DeletePlacementDay?id=' + id,
        type: 'POST',
        dataType: 'html',
        contentType: "application/json; charset=utf-8",
        success: function(response) {
            $("#EditPlacementHeaderPopup").modal("hide");
            $("#EditPlacementPopup").modal("hide");

            toastNotifySuccess("Day deleted successfully", 1000);

            await editPlacementHeader(bookingId);
        }
    });
};

HTML打开展示位置-

@mon.Name

您的成功回调中有一个匿名函数,它不是异步的,但在其中使用了 await。在调用 editPlacementHeader 之前删除“await”或使您的成功回调异步,它应该可以工作。