Я пытаюсь создать небольшой веб-сайт, такой как sickgearr, для своей семенной коробки: мне нужна поисковая форма, которая будет отправлять поисковый запрос моим поставщикам торрентов, используя этот API: https://github.com/JimmyLaurent/torrent-search-api
iудалось получить текст из формы, сделать вызовы API и распечатать результаты в консоли.
но когда я пытаюсь передать их на страницу результатов, которая скоро станет, я лишь передаю обещания и не совсем понимаю принцип обещаний.
Если бы кто-то мог помочь мне решить мои проблемы, я был бы очень благодарен или хотя бы дал мне несколько советов!
Вот мой код, составленный из нескольких учебных пособий для начинающих ejs, nodejs:
const express = require('express');
const bodyParser = require('body-parser');
const app = express()
const TorrentSearchApi = require('torrent-search-api');
const tableify = require('tableify');
TorrentSearchApi.enableProvider('Yggtorrent','Login', 'Password');
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: true }));
app.set('view engine', 'ejs')
async function search(query){ // Search for torrents using the api
var string = query.toLowerCase();
//console.log(string);
const torrents = await TorrentSearchApi.search(string,'All',20); // Search for legal linux distros
return(JSON.stringify(torrents));
}
app.get('/', function (req, res) {
res.render('index');
})
app.post('/', function (req, res) {
var rawTorrent = search(req.body.torrent);
var page = tableify(rawTorrent); //printing rawtorrent will only give me "promise"
res.render('results',page);
})
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
})