javascript – Dúvida JS – Integração entre back e rota


Eu to migrando do C# para o JS, porem o paradigma dele soa um pouco confuso p mim.
Eu to tentando fazer uma query no back q funciona adequadamente no console log (imagem 1), porém ao chamar a função em rotas o console log da rotas já não consegue visualizar o array (imagem 2)

Imagem 1

bookRoutes.js

    const bookRes = require('../../controller/bookRepository')

module.exports = app =>
{
    app.get('/', (req, res) =>
    {
        res.send('Hello world!');
    });

    app.get('/book', (req, res) => {
        async function run()
        {
            let books = await bookRes.searchBooks()
            console.log(books);
            res.send(books)
        }

        run()
    });
}

Imagem 2

bookRepository

const Book = require('../model/books.js')

const searchBooks = () =>
{

    let book
    let books = ()

    function split(item)
    {
        for(var i in item)
        {
            books.push((i, item(i)))
        }
        // console.log(books);
    }

    function printInfo()
    {
        console.log("--------------------");
    }
    
    Book.findAll({
        attributes: ('descr')
    })

    .then(res => book = JSON.parse(JSON.stringify(res)))
    .then(() => {split(book)})
    // .then(() => printInfo())
    .then(() => console.log(books))
    .then(() => {return books})
    // .then(() => {console.log(books)})
}

module.exports = 
{
    searchBooks: searchBooks
}