returns 解析 promise 值而不是 promise 的 NodeJS 函数?

NodeJS function that returns resolved promise value instead of the promise?

我有一个使用请求承诺模块从网站抓取和解析 HTML 的函数。我希望函数在完成时只 return 一些 JSON 数据,而不是承诺。

这是我目前拥有的代码的精简版:

const rp = require('request-promise');
const URL = 'http://example.com/';

async function get_data() {
    let get_data_wrapper = (async () => {
        let html = await rp(URL);
        let var1 = {};

        // Do stuff so that var1 contains JSON data

        return var1;
    });

    return await get_data_wrapper();// Return courses promise
}

我希望 get_data() return 只是 JSON 数据,而不是承诺。

我是不是以错误的方式思考了这一切?

我相信你觉得这太复杂了:

const rp = require('request-promise');
const URL = 'http://example.com/';

async function get_data() {
    let html = await rp(URL);
    let var1 = {};

    // Do stuff so that var1 contains JSON data

    return var1;
}

get_data().then((res)->console.log(res));

不是: 常数 res=get_data() console.log(资源)

希望对您有所帮助!