Node.js使用async函数返回的对象

Node.js use returned object from async function

本文关键字:返回 对象 函数 async js 使用 Node      更新时间:2024-05-19

我是Node.js的新手,我想从其他网站上删除一些与法律问题无关的数据,但由于Node.js是异步的,所以出现了一些问题。请参阅下面的代码,请求使用Cheerio.js.解析一些url和文档

function getPrices() {
    var url = "http://some-price-list-url.com";
    request(url, function (err, res, html) {
        var $ = cheerio.load(html);
        var prices = {};
        for(var i=0; i<10; i++){
            prices[i] = $(span[class="someSelector"]); 
        }
        return prices;
    });
}

上面的代码没有问题,所以我想显示返回的对象,所以

var prices = getPrices();
console.log(prices); // ---> undefined 

我想显示以控制台返回的对象,但它显示了undefined。我在没有流任务的情况下测试相同结构的代码,效果很好。所以我猜console.loggetPrices()之前尝试的还没有完成。如何正确显示此对象?

试试这样的东西:

var http = require('http');
http.get('http://some-price-list-url.com', function(response)
{
    response.on('data', function(data)
    {
        console.log(data);
    });
});