我需要实现一个调用Web服务并返回响应的函数.
我试过了
public String getFolderJson(String path) {
String result="initial_value";
StringBuilder param = new StringBuilder();
param.append("?sessionId=").append(getSessionId());
param.append("&path=").append(path);
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, "https://localhost/folder" + param);
try {
builder.sendRequest(null, new RequestCallback() {
@Override
public void onResponseReceived(Request request,
Response response) {
result = response.getText();
System.out.println(response.getText());
//I need to return "result"
}
@Override
public void onError(Request request, Throwable exception) {}
});
return result; //the result get returned before the response is recieved.So i am getting the return value "initial_value".
}
catch (RequestException e) {} …Run Code Online (Sandbox Code Playgroud) 我正在创建一个chrome扩展.我不知道如何使用变量作为chrome.storage.local.set()功能的关键.我试过了
var key = 'myKey';
chrome.storage.local.get(key, function(val) {
chrome.storage.local.set({key:val[key]+param1}); //appending param1
alert(val[key]);
}
Run Code Online (Sandbox Code Playgroud)
在这里,我试图获取值val[key]并附加一个字符串,param1并使用相同的密钥将其放回存储.但我无法这样做.警报框始终显示未定义.
但是当我尝试没有变量时key,它工作正常.
chrome.storage.local.get('myKey', function(val) {
chrome.storage.local.set({myKey:val['myKey']+param1}); //appending param1
alert(val['myKey']);
}
Run Code Online (Sandbox Code Playgroud)
问题是我使用chrome.storage.local.set的不仅是字符串而且还有对象的参数.