javascript属性竞争条件

时间:2012-12-11 22:05:14

标签: javascript html cordova

我在iPhone和Android上有一个phonegap项目。问题似乎是表面上的竞争条件,但我不明白它是如何发生的。用户可以单击一个按钮,该按钮具有设置对象属性的闭包回调,然后清除屏幕并加载主菜单。在代码中:

button.onclick = function (employee) {
    return function () {
        employee.task = "some task";
        returnToMenu();
    }
}(employees[i]);

用户返回主菜单后,可以单击加载显示所有用户的屏幕的按钮。如果员工设置了该任务属性,则应该对该员工的按钮进行格式化。

if (employee.task)
    // style the button being created for this employee

不知何故,如果点击得足够快,则不会进行格式化。如果单击后退(到主菜单),然后重新加载屏幕,则现在完成格式化。鉴于上面的代码,我没有看到employee.task在加载菜单后如何可能返回undefined。这是怎么回事?

0 个答案:

没有答案
相关问题