Javascript Typescript中的异步调用

Javascript Typescript中的异步调用,javascript,jquery,asynchronous,typescript,Javascript,Jquery,Asynchronous,Typescript,我正在处理异步调用。我想生成一个仪表板并用id“1”初始化它。它生成元素,我可以单击这些元素并生成另一个包含元素的仪表板。它就像一棵树 因此,我可以生成id为1的仪表板,但无法单击它。我知道,这是因为我的代码中有异步调用,但实际上我不知道如何修复它。我在摆弄延迟的对象,但这对我没有帮助。这就是基础: /// <reference path="jquery.d.ts" /> /// <reference path="scripts/Dashboard.ts" /> $(

我正在处理异步调用。我想生成一个仪表板并用id“1”初始化它。它生成元素,我可以单击这些元素并生成另一个包含元素的仪表板。它就像一棵树

因此,我可以生成id为1的仪表板,但无法单击它。我知道,这是因为我的代码中有异步调用,但实际上我不知道如何修复它。我在摆弄延迟的对象,但这对我没有帮助。这就是基础:

/// <reference path="jquery.d.ts" />
/// <reference path="scripts/Dashboard.ts" />


$(document).ready(function ()
{
    init();
    jQuery('.Reference').click(function()
    {
        var classId = jQuery(this).attr('class');
        jQuery('#content').remove();
        generateDashboard(parseInt(classId), (d: Dashboard): void =>
        {
            d.printDashboard();
        });

    });
});

function generateDashboard(param: number, callback: (d: Dashboard) => void): void
{
    new Dashboard(param, callback);
}


function init()
{
    generateDashboard(1, (d: Dashboard): void =>
    {
        d.printDashboard();
    });

}
//
/// 
$(文档).ready(函数()
{
init();
jQuery('.Reference')。单击(函数()
{
var classId=jQuery(this.attr('class');
jQuery(“#content”).remove();
generateDashboard(parseInt(classId),(d:仪表板):void=>
{
d、 printDashboard();
});
});
});
函数generateDashboard(参数:number,回调:(d:仪表板)=>void):void
{
新仪表板(参数、回调);
}
函数init()
{
生成的仪表板(1,(d:仪表板):void=>
{
d、 printDashboard();
});
}
提前感谢:)

编辑:这里是生成的HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Dashboard</title>
<link type="text/css" href="app.css" rel="stylesheet">
<script src="jquery.js">
<script src="app.js">
<script src="scripts/Helper.js">
<script src="scripts/Dashboard.js">
<script src="scripts/Elements.js">
<script src="scripts/Leaf.js">
<script src="scripts/Status.js">
<script src="scripts/Threshold.js">
<script src="scripts/Item.js">
</head>
<body>
<h1 id="dashboard"></h1>
<div id="content">
<div class="1">Element-1</div>
<div class="31">Element-4</div>
<div id="31" class="Reference">Element-2</div>
</div>
</body>
</html>

仪表板
元素-1
元素-4
元素-2

您遇到的实际问题是什么?我不是100%确定,但您可能希望保留对您创建的
仪表板的引用,否则它们可能会被垃圾收集,并且它们的代码永远不会运行(即从未调用回调)。jQuery('.Reference')。单击(函数()没有反应,或者:我无法单击smthgar您确定已正确指定类名吗?它区分大小写。HTML是什么样子的?我明天回来工作,然后给您更新:)