Я пытаюсь сделать асинхронный NodeJS v8.10.0 и Express так.
app.get('/settings', async function(req, res){
try {
const getTemperatureSettings = await getTemperatureSettings();
//...more await statements to be added.
res.render('settings', {
temperature_settings: getTemperatureSettings,
});
} catch (error) {
console.log('Error temperatureSettingRange', error);
}
});
function getTemperatureSettings() {
return new Promise(function (resolve, reject) {
couch.get(temperatureDb, "/_design/settings/_view/range?descending=true&limit=1").then(
function (data, headers, status) {
const temperatureSettingRange = data.data.rows[0].value;
resolve(temperatureSettingRange);
},
function (err) {
console.log('Could not get temperature settings', err);
}
);
});
}
Однако я получаю следующее сообщение об ошибке.
Error temperatureSettingRange ReferenceError: getTemperatureSettings is not defined
Несмотря на то, что getTemperatureSettings()
находится в глобальной области видимости, кажется, что оно выходит за рамки - по крайней мере, в соответствии с моей подсветкой синтаксиса, она не вызывается.
Что здесь не так?