从'fetch'返回已解析的值

时间:2017-12-07 01:46:47

标签: javascript

我正在尝试使用fetch从API获取JSON对象,我想返回对象的最终解析值,以便任何使用该函数的人都可以直接获取值而无需解析promise它会回来。

function f() {
    let result = fetch(url, {
        method: 'GET'
    })
    .then(response => response.json())
    .then(json => {
        return json
    }).catch(err => {
        // Error
    });

    return result;
}

我真的不知道这是否可能,但我会感谢您的帮助,提前致谢。

2 个答案:

答案 0 :(得分:1)

使用fetch是不可能的。它是异步的。
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

您可以使用旧的XMLHttpRequest执行此操作,它具有同步调用https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/open的特殊参数。我不会推荐它,它会冻结你的。

答案 1 :(得分:1)

您可以使用usersawait自动解析async并避免反复使用Promise

.then()