【发布时间】:2015-12-08 09:51:28
【问题描述】:
我有一个更新数据的 JavaScript 函数。
用户可能点击了几次,我想等待第二次点击,而第一次点击还没有完成,依此类推
$scope.isLastUpdateFinished = true;
$scope.onSave = function (isFitToPage) {
if (!$scope.isLastUpdateFinished)
while (!$scope.isLastUpdateFinished) {
}
$scope.isLastUpdateFinished = false;
dataService.save($scope.draft, "api/Draft/UpdateDraft/").then(function (data) {
if (data.Succeeded && data.Message != null)
toaster.pop("warning", _("Dataservice_TTL_Save"), data.Message);
if (!data.Succeeded) {
modalOptions.headerText = _("Error_InRefreshList");
modalOptions.bodyText = data.Message;
modalService.showModal(errorDefaults, modalOptions);
}
if (isFitToPage) {
$scope.imageviewer.viewerconfig.controls.imageReload(true, true);
}
if ($scope.myOtherAside.$scope.$isShown && isFitToPage) {
$scope.viewerconfig.controls.imageReload(true, true);
}
$scope.isLastUpdateFinished = true;
});
};
【问题讨论】:
-
禁用您的按钮,直到第一次通话未完成。
-
@singe3 谢谢,为什么
if (!$scope.isLastUpdateFinished) while (!$scope.isLastUpdateFinished) { }不能正常工作 -
你应该添加断点来调试它,我不知道你的代码在做什么,因为这只是它的一小部分。
-
检查了我下面的答案?
标签: javascript jquery angularjs