gpt4 book ai didi

dart - 如何从 HttpRequest 中获取值?

转载 作者:行者123 更新时间:2023-12-03 03:29:23 25 4
gpt4 key购买 nike

我正在学习 Dart,但遇到了障碍。我非常想从 json 字符串处理函数返回一个值,这样我就可以在 main() 中使用该值。 (我正在尝试设置一些顶级变量以用于与 html 模板的单向数据绑定(bind)。)我正在使用 HttpRequest.getString.then调用开始处理。但是 HttpRequest 不喜欢被分配给一个变量,所以我不确定如何从中取回任何东西。

processString(String jsonString) {
// Create a map of relevant data
return myMap;
}

void main() {
HttpRequest.getString(url).then(processString);
// Do something with the processed result!
}

我想我的问题是如何从 HttpRequest 调用的函数中获取值?

最佳答案

你正在尝试做一些 Dart 异步模型不支持的事情。您必须处理异步请求的结果:

  • processString() ,
  • 在另一个从 processString() 调用的函数中,
  • 在传递给 then() 的匿名函数中.

  • 或类似的东西。你不能做的是从 main() 的更下方访问它。 :

    processString(String jsonString) {
    // Create a map of relevant data
    // Do something with the processed result!
    }

    void main() {
    HttpRequest.getString(url).then(processString);
    // Any code here can never access the result of the HttpRequest
    }

    您可能更喜欢:

    processString(String jsonString) {
    // Create a map of relevant data
    return myMap;
    }

    void main() {
    HttpRequest.getString(url).then((resp) {
    map = processString(resp);
    // Do something with the processed result!
    });
    // Any code here can never access the result of the HttpRequest
    }

    关于dart - 如何从 HttpRequest 中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16846002/

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