Javascript 使用fetchapi时如何返回JSON对象
我创建了对象,如下所示:Javascript 使用fetchapi时如何返回JSON对象,javascript,json,Javascript,Json,我创建了对象,如下所示: var JSONRespond = new Respond('JS/lib/XML/options.json'); 我希望将raturn JSON对象转换为另一个对象,例如: var Options = JSONRespond.getOptions(); console.log("TEST" + Options.options[0].params) // doesn't working 响应类: var Respond = function(URL){ this
var JSONRespond = new Respond('JS/lib/XML/options.json');
我希望将raturn JSON对象转换为另一个对象,例如:
var Options = JSONRespond.getOptions();
console.log("TEST" + Options.options[0].params) // doesn't working
响应类:
var Respond = function(URL){
this.requestURL = URL;
}
Respond.prototype.getOptions = function(){
var JSON;
var headers = new Headers();
headers.set('Content-Type', 'application/json');
headers.set('Method','GET');
var request = new Request(this.requestURL, headers);
fetch(request).then(function (response){
return response.json();
}).then(function(respondJSON){
JSON = respondJSON;
console.log("Test respondJSON:" + respondJSON.options[1].params); //OK
console.log("Test JSON:" + JSON.options[0].params); // ok too
return JSON; //
})
}
如何获取JSON对象并返回主函数?(不要使用承诺、回调)。由于getOptions本身不返回任何内容,所以从最后一个“then”返回的JSON就消失了。你可能想回报承诺,并在承诺之后再加上一个“then”。类似于:
Respond.prototype.getOptions = function(){
...
return fetch(request)
.then(function (response) {
return response.json();
});
};
var JSONRespond = new Respond('JS/lib/XML/options.json');
var Options = JSONRespond.getOptions();
Options.then(function( JSON ) {
console.log(JSON);
});
注意:你说的“不要使用承诺,收回”是什么意思?
您可以调用提供回调的getOptions,然后在最后一个“then”中调用该回调。如果不使用回调,您希望如何获得异步操作的结果?Sry,我忘了我可以使用对主函数^^的承诺。我是什么意思?我在想,我不能返回“主”线程。所以,我不喜欢这样看:t