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