У меня есть несколько разных файлов, которые содержат несколько связанных функций, я использую их как своего рода контроллеры. В одном из них у меня есть обещание, и я пытаюсь решить эту проблему. Это делается немного иначе, чем передача одного значения, как я обычно вижу. Я пытаюсь решить с помощью объекта JavaScript, который содержит два ключа, один со значением логического значения, а другой с массивом для значения.
Фактическая ошибка, которую я получаю в своем блоке перехвата,
TypeError: Преобразование круговой структуры в JSON
Вот как я пытаюсь разрешить обещание
resolve({success: true, names: body.names});
Где body.names
равно приведенному ниже массиву
[ [ 'John Smith', 'Jane Doe' ], [ 'John Smith' ] ]
Моя цель состоит в том, чтобы разрешить обещание таким образом, чтобы я мог передать свое значение «success» для некоторой дополнительной обработки (не ошибка, если ложь, и ее нужно обрабатывать как ошибку)но также хотел бы передать массив имен, чтобы я мог передать это в своем ответе API.
РЕДАКТИРОВАТЬ **
Еще код
exports.formatWithNames = function(policy) {
return new Promise((resolve, reject) => {
options.json = {policy};
request.post('/userListByIDs', options, (err, response, body) => {
if (err) {
logger.error(`policy: formatWithNames: ${JSON.stringify(err)}`);
reject({success: false, message: 'Failure'});
}
logger.info(`policy: formatWithNames: body: ${JSON.stringify(body)}`);
resolve({success: true, names: body.names});
});
});
}
Тогдагде это называется
Policy.find({ companyID: req.body.user.companyID }, (err, policy) => {
if (err) {
logger.info(`getAllPolicy: Policy find: Error message: ${err}`);
return res.status(500).json({ success: false, message: 'Error finding policies.' });
}
userController.formatWithNames(policy)
.then(response => {
console.log(response)
return res.status(200).json({ success: true, policy: res });
})
.catch(err => {
logger.error(`getAllPolicy: formatWithNames: Error message: ${err}`);
return res.json({ success: false, policy: null });
})
});