MooTools - 在父函数中返回 onSuccess 变量

发布于 2024-11-29 05:57:59 字数 668 浏览 0 评论 0原文

请帮助我! :(

如何仅使用 getValue() 返回字符串?我不知道如何将变量应用到父函数中。我很头疼:

<script>
    function getValue() {
        new Request.JSON({
            data: JSON.encode({
                "serviceName": "demoTest",
                "methodName": "someValue",
                "parameters": []
            }),
            onSuccess: function(data) { // data = a string with some text
                var string = data;
                console.log(string); // returns the string as expected
            },
            url: "gateway/?contentType=application/json"
        }).send();

        return string; // returns undefined
    }
</script>

Help me please! :(

How can I return the string by just using getValue()? I don't know how to apply the variable into the parent function. I'm getting headache:

<script>
    function getValue() {
        new Request.JSON({
            data: JSON.encode({
                "serviceName": "demoTest",
                "methodName": "someValue",
                "parameters": []
            }),
            onSuccess: function(data) { // data = a string with some text
                var string = data;
                console.log(string); // returns the string as expected
            },
            url: "gateway/?contentType=application/json"
        }).send();

        return string; // returns undefined
    }
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风轻花落早 2024-12-06 05:57:59

这里的问题是 return 早在触发 onSuccess (回调)函数之前就被触发了。一种方法是同时使用回调函数。你想用的方法是行不通的。

这是您的 getValue 函数:

function setValue(callback) {
    new Request.JSON({
     ...
        onSuccess: function(data) {
            callback(data);
        },
    ....
}

这是一个回调函数:

var myCallback = function(data) {
    $("id").set("html", "<p>" + data + "</p>");
}

最后在加载的文档上调用该函数:

setValue(myCallback);

The problem here is that the return is fired long before the onSuccess (callback) function is triggered. One approach would be to use also a callback function. The way you want to do it won't work.

Here is your getValue function:

function setValue(callback) {
    new Request.JSON({
     ...
        onSuccess: function(data) {
            callback(data);
        },
    ....
}

Here is a callback function:

var myCallback = function(data) {
    $("id").set("html", "<p>" + data + "</p>");
}

And finally call the function on document loaded:

setValue(myCallback);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文