В настоящее время я написал код, который вызывает ссылку https и возвращает объект обещания. Я получаю объект обещания в асинхронной функции, используя await. Мне нужно написать условие, где я должен установить соединение с БД и вставить записи в асинхронную таблицу.
Все это должно происходить в асинхронной функции, но при ее выполнении я получаю сообщение «Ошибка: ошибка: не могу ждать без волокна».
Мне нужно понять, почему я получаю эту ошибку. Я почти уверен, что это происходит в результате асинхронной операции, но я не уверен, как решить эту проблему. Ниже приведен код
function apiTrigger(url, protocol) {
var result = {};
var http = $.require(protocol);
var output = new Promise(function (resolve, reject) {
http.get(url, function (res) {
--------------
--------------
--------------
resolve(result);
}
});
}).on('error', reject);
});
return output;
};
async function apiCall(cb) {
try {
var result = await apiTrigger(
'link',
'https');
console.log("Output is " + JSON.stringify(result));
var retrieve = result.retrievedOutput;
console.log("Printed " + retrieve);
var message = JSON.parse(result.retrievedOutput);
console.log("message " + message.MESSAGE);
if(message.MESSAGE ==1) {
var connection = $.hdb.getConnection();
var query = 'insert into "portable" values(?,?,?,?,?)';
console.log("Query is " + query);
connection.executeUpdate(query, '2019-03-21', 5, 'MDU', 'INR', 899);
connection.commit();
}
} catch (err) {
console.log("The error is " + err);
}
};
$.response.setBody(apiCall());
В настоящее время, когда я выполняю этот код, я получаю сообщение «Ошибка: Ошибка: не могу ждать без оптоволокна». Ожидаемый результат - выполнение запроса к БД. Пожалуйста, помогите