javascript - NodeJS 函数返回已解析的 Promise 值而不是 Promise?

标签 javascript node.js promise request-promise asynchronous-javascript

我有一个使用 request-promise 模块从网站抓取和解析 HTML 的函数。我希望该函数在完成时只返回一些 JSON 数据,而不是 promise 。

这是我迄今为止所拥有的代码的精简版本:

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 数据,而不是 promise 。

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

最佳答案

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

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;
}

关于javascript - NodeJS 函数返回已解析的 Promise 值而不是 Promise?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60765901/

相关文章:

javascript - 在哪里放置超时()淡出?

node.js - 使用 node.js gmail api 列出收件箱消息

javascript - Nodejs 一个接一个地运行异步函数

javascript - 使用 Promise 链接 http 请求

javascript - $.when - done 在所有 promises 被解决之前被调用

javascript - React.Children.only expected 在使用 Ref 时收到单个 React 元素子错误

javascript - 如何在 Angular js中将一个表行移动到另一个表?

java - 如何使服务器端 Java 和客户端 JS DTO 属性保持一致

node.js - $http DELETE 变成 OPTIONS AngularJS

javascript - 更改 Twitter 个人资料图片的机器人