Исходя из мира .net, где синхронность является заданной, я могу запросить мои данные из исходного источника, такого как база данных, lucene или даже другой API, m с трудностью найти хороший образец этого для node.js, где async является нормой.node.js и hapi: выборка данных из базы данных синхронно
Проблема, с которой я сталкиваюсь, заключается в том, что клиент делает вызов API для моего hapi-сервера, а оттуда мне нужно взять параметры и сформировать запрос Elasticsearch для вызова, используя библиотеку request
, а затем подождать для экземпляра, который должен вернуться до заполнения моего представления и отправки его обратно клиенту, проблема заключается в том, что библиотека запросов использует обратный вызов после возвращения данных, а пустой вид уже давно возвращается клиенту.
Попытка разместить возврат в обратном вызове не работает, поскольку EOF для javascript уже был удален, а null возвращен в его место, что является лучшим способом для извлечения данных в служебном вызове?
EX:
var request = require('request');
var options = {
url: 'localhost:9200',
path: {params},
body: {
{params}
}
}
request.get(options, function(error, response){
// do data manipulation and set view data
}
// generate the view and return the view to be sent back to client
Можете ли вы показать нам свой код hapi? –