jquery $(document) 中的异步函数。准备就绪,无需等待 (JQuery 1.11.2)

Async Function Within Jquery $(Document).Ready Not Awaiting (JQuery 1.11.2)

提问人:austinn 提问时间:1/10/2023 更新时间:1/10/2023 访问量:70

问:

当尝试等待 $(Document) 中立即执行的异步函数时。准备好了,不等待结果:

$(document).ready(function () {
    var outcomeNameStrings = (async () => {
        let namesObj = await getOutcomeNameStrings();
        return namesObj;
    })();
    console.log(outcomeNameStrings);
    . . . //other code
    debugger; //value is a promise still
}

getOutcomeNameStrings 创建对服务器的 HTTP Get 调用以检索 JSON 对象。这是在所有元素加载到页面之前需要的(即我认为我不能使用窗口加载)。实现如下:

async function getOutcomeNameStrings() {
    return $.ajax({
        async: true,
        type: "GET",
        url: "/Outcomes/GetOutcomeNameStrings",
        dataType: "json"
    });
}

登录到 Console 和 at 调试器行的值是 Promise,而不是 JSON 对象。我也尝试过.then回调函数,但这似乎也不起作用。

Jquery 版本为 1.11.2,用于 .NET Framework 4.7.2 MVC 项目。getOutcomeNameStrings 命中控制器中的 GET 端点方法。

如果需要更多细节来解决这个问题,我很乐意提供,感谢您的帮助!

JavaScript C# jQuery ASP.NET-MVC 异步

评论

0赞 SNBS 1/10/2023
也许使用最新版本的jQuery?版本 1.11.2 已过时、时且 过时
0赞 austinn 1/10/2023
我当然同意,但是我不必担心为此版本(1.11.2)编写的代码在切换到最新版本时会导致错误吗?不幸的是,我没有参与使用这个非常不推荐使用的 JQuery 版本开始项目的决定
1赞 SNBS 1/10/2023
好吧,我只是建议你更新jQuery。新版本总是更好。虽然我不确定它是否有帮助。

答: 暂无答案