Мое приложение должно вернуть ответ JSON после некоторых запросов БД.Возвращение асинхронного ответа в sails.js
псевдокод (с помощью async
):
async.forEachOf(sails.config.site.regions, function (regionData, slug) {
obj['regions'][slug] = {
'slug': slug,
'name': regionData.name,
};
}, function (err) {
if (err) {
res.json({
'error': true,
'message': 'Error when retrieving data from the DB'
});
}
else {
res.json(obj);
return;
}
});
Sails висит так никакого ответа, кажется, вернулся из службы.
Я попытался преобразовать это в Promise (см. this answer), но он тоже не работает.
Как я могу это сделать?
делает работу службы, если вы получаете доступ с помощью инструмента, как почтальон? - https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=ru –
Возможно, это просто ваш псевдокод, но [вы используете 'async.forEachOf' неправильно] (https://github.com/caolan/асинхронной # forEachOf). Второй аргумент (функция, вызываемая для каждого элемента в массиве) нуждается в обратном вызове, который вы вызываете внутри функции, чтобы продолжить цикл. Вы должны просто опубликовать свой реальный код; псевдокод здесь не очень помогает. – sgress454