gpt4 book ai didi

java - 无法在 volley 中访问 StringRequest 之外的响应

转载 作者:行者123 更新时间:2023-12-01 18:42:08 27 4
gpt4 key购买 nike

我用过this简单的获取请求代码

final StringBuilder result = new StringBuilder();
RequestQueue queue = Volley.newRequestQueue(removeThisIfItDidntWork);
String url ="https://jsonplaceholder.typicode.com/posts/1";

// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
result.append(response);
System.out.println(result.toString()); //this get the actual result
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});

// Add the request to the RequestQueue.
queue.add(stringRequest);
System.out.println(result.toString()); //this result an empty string

当我在响应中打印它时,它会输出预期的结果,但是当我在外部使用它时,它会打印一个空字符串

最佳答案

queue.add 将请求添加到队列中,以便稍后执行。紧接着 result.toString 被调用,当然,它是空的(上面刚刚创建为空,请求还没有被执行)。

稍后,从队列中选取请求并执行,并收到响应。然后调用 onResponse,将 response 添加到 result 中,并将其打印出来。

欢迎来到多线程世界:)

关于java - 无法在 volley 中访问 StringRequest 之外的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59909166/

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