0

我有一个使用 request-promise 模块从网站抓取和解析 HTML 的函数。我希望函数在完成后只返回一些 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() 只返回 JSON 数据,而不是承诺。

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

4

2 回答 2

1

我相信你认为这太复杂了:

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;
}
于 2020-03-19T22:25:28.867 回答
1

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

不是: const res=get_data() console.log(res)

希望有帮助!

于 2020-03-19T22:34:55.130 回答