gpt4 book ai didi

java - 直接 Web 远程处理异步问题

转载 作者:行者123 更新时间:2023-11-30 18:21:18 25 4
gpt4 key购买 nike

我正在使用直接 Web 远程处理库在我的应用程序中执行一些 ajax 调用。我有一个问题,我认为归结为服务调用的延迟响应。以下是我认为有问题的部分代码。问题出在 getDefaultReviewerTypeCode 中,直到在其他“填充”过程之后才在回调中设置返回变量。有没有办法告诉 DWR 在继续处理 java 脚本之前等待响应?

function makeProtocolReviewerTypesDropDown(reviewerTypes, reviewerIndex) {
var defaultReviewerType = getDefaultReviewerTypeCode();

...
var option = document.createElement('option');
option.setAttribute("value", "");
if (defaultReviewerType == '') {
option.setAttribute("selected", "selected");
}

...

for (var i = 0; i < reviewerTypes.length; i += 2) {
var reviewerType = reviewerTypes[i].replace(/^\t*/, '');
option = document.createElement('option');
option.setAttribute("value", reviewerType);
if (defaultReviewerType == reviewerType) {
option.setAttribute("selected", "selected");
}
option.text = reviewerTypes[i+1];
addSelectOption(selectElement, option);
}

return selectElement;
}

function getDefaultReviewerTypeCode() {
var defaultReviewTyper;
var dwrReply = {
callback:function(data) {
if ( data != null ) {
defaultReviewTyper = data;
} else {
defaultReviewTyper = '';
}
}
};
IacucProtocolActionAjaxService.getDefaultCommitteeReviewTypeCode(dwrReply);
return defaultReviewTyper;
}

最佳答案

最好的方法是将 DWR 调用之后的所有代码封装到一个单独的方法中,并从 DWR 回调中调用它。这样,保证仅在 DWR 返回后调用依赖于 DWR 结果的代码。

关于java - 直接 Web 远程处理异步问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11976869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com