Отображение объектов возвращает "function map () {[native code]}" .. зачем - PullRequest
0 голосов
/ 12 марта 2020

Итак, я немного растерян, почему я получаю это обратно, потому что я возвращаю информацию в виде текста? Я полагал, что он все еще должен иметь возможность go в теге p.

до того, как "function map () {[native code]}" возвращалось на веб-сайтах html, у меня был [Object, Object]. , , возвращение к индексу HTML

. html:

    <body>
    <p id="results">${results.map}</p>
    <h1>demo</h1>
</body>

Маршрут индекса:

 router.get('/', function(req, res, next) {

  scrapper().then(results => {
    console.log("results are ", results);
    res.render('index', {locals: { results }})
  });
});

А вот и скребок:

debug = require ('../models/conn');
const puppeteer = require('puppeteer');
const axios = require('axios');
const cheerio = require('cheerio');

async function searchJobs(i) {
   const url = await axios.get('actual url')
    // return fetch(`${url}${i}`)
        .then(response =>  response)

        .then(res => {
            const jobs = [];
            const $ = cheerio.load(res.data);

            $('.result').each((index, element) => {
                const title = $(element).children('.title').text();
                const linkToJob = $(element).children('.title').children('a').attr('href')
                const body = $(element).children('.summary').text();
                jobs[index] = { title, linkToJob, body };
            });
            console.log(jobs);
            return jobs;
            // Prints tbe second child of results class results for that page in console.
            //    console.log($('.result').children().eq(1).text());
        });
        return url;
};
module.exports = searchJobs;

Итак, у меня есть вся информация console.loging, которую я хочу, я просто пытаюсь отобразить ее в начале страницы ..

Буду рад еще помощи, все еще новой к программированию .. программировал только 3 месяца.

1 Ответ

1 голос
/ 12 марта 2020

Вы пытаетесь использовать метод map над объектом results. Если вы выполните итерацию по нему с помощью метода map, вы можете сделать что-то вроде этого ...

<body>
  {results.map(result => { return <p>{result}</p> })}
</body>

В основном это создаст тег <p> для каждого результата в вашем results объекте.

...