为什么Promise不会让函数返回其响应值?

时间:2019-08-07 17:55:48

标签: javascript function promise return

内部带有promise的函数不返回任何内容

我想创建一个基本上向我返回值的函数,该函数使用promise。我如何才能使这个承诺返回我本身的价值,但没有使用async / await就没有其他承诺。我不想破坏诺言。

function request(method, url, params) {
    let options = {};

    options.method = method;
    options.headers = { 'Content-Type': 'application/x-www-form-urlencoded' };

    let formParams = '';
    for(let key in params) {
        if(formParams != '') formParams += '&';
        formParams += key + '=' + encodeURIComponent(params[key]);
    }
    options.params = formParams;

    fetch(url, options).then(response => response.json()).then(response => {
        return response;
    }).catch(error => {
        return error.message;
    });
}

let res = request('GET', 'some_url', { param: 1 });
// res always returns me 'undefined';

0 个答案:

没有答案