我正在使用排球,我有一个队列来调用一些API。队列从数据库填充。
在向jsonObjectRequest.setTag(id);
请求队列添加请求之前,我通过调用
database
作为回应,我想从HttpRequest
中删除列id等于请求标记ID的列。
那么,我如何在response
import { Component, NgZone } from "@angular/core";
...
constructor(private zone: NgZone) {
}
firebase.addValueEventListener(result => {
this.zone.run(() => {
this.router.navigate(['/order'], { clearHistory:true });
])
}, path)
中获取请求标记?
答案 0 :(得分:5)
首先创建一个侦听器,从您的volly类中提供响应
/** Callback interface for delivering parsed responses. */
public interface Listener {
/** Called when a response is received. */
public void onResponse(Object tag, JSONObject response);
public void onErrorResponse(Object tag, VolleyError error);
}
现在创建如下方法,传递监听器和标签并调用volly请求。作为回应,您可以同时获得标记和响应。
public void callApi(String url, final Listener listener, final Object tag){
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,
url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
listener.onResponse(tag,response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
listener.onErrorResponse(tag,error);
}
});
// Adding request to request queue
AppController.getInstance().addToRequestQueue(jsonObjReq);
}
它只是示例代码,您可以根据您的要求进行修改。如果您需要任何帮助评论。