gpt4 book ai didi

javascript - ExtJS 4 在不使用回调的情况下等待 AJAX 请求的结果

转载 作者:行者123 更新时间:2023-11-29 10:14:57 24 4
gpt4 key购买 nike

我在这里遇到了一些情况,我需要帮助。这是我的代码示例:

fn: function () {
var test = this.ajaxFunction();
alert(test);
}

ajaxFunction : function () {
Ext.Ajax.request ({
url: 'MyServlet',
params: ...,
success: function (response) {
response = Ext.decode(response.responseText);
return response.myVar;
}
});
}

显然 alert 会给我一个未定义的结果而不是 myVar 值。我该如何解决?我知道 Ext 中的 AJAX 是异步支持的,无论我在哪里搜索,每个人都告诉我将我的后 Ajax 逻辑放在回调中。但是,正如您在这里看到的那样,这是不可能的。我需要两个函数 fn 和 ajaxFunction。 ajaxFunction 被许多不同的函数调用,因此它需要分开。

我试过“异步”配置,但它似乎不起作用。我认为他们已经删除了它(至少在 ExtJS 4.2.1 中)。

有什么想法吗?

最佳答案

您可以将回调函数传递给 ajaxFunction:

fn: function () {
this.ajaxFunction(function(response) {
alert(response);
});
}

ajaxFunction : function (callback) {
Ext.Ajax.request ({
url: 'MyServlet',
params: ...,
success: callback
});
}

这样你就可以重用ajaxFunction,每次只传递一个不同的回调。

关于javascript - ExtJS 4 在不使用回调的情况下等待 AJAX 请求的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24258157/

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