Вы можете написать вспомогательную функцию, которая возвращает Promise
, чтобы сделать его synchronous
(или имитировать его)
function getSome(mytable, hometasks, num)
return new Promise((resolve, reject) => {
tableSvc.retrieveEntity(mytable, hometasks, num, function(error, result, response){
if(!error){
resolve(entity // result or response etc)
} else {
reject(error)
}
});
})
Затем вы можете использовать в другом месте вашего кода с async/await
(чтобы приостановить выполнение) как
Обратите внимание, что вы можете использовать await
только внутри async
функции
async function useData() {
const data = await getSome('mytable', 'hometasks', '1');
// use data here
}
или с простым обещанием как (Обратите внимание, это не приостанавливает выполнение, код внутри then
функция обратного вызова снова)
const data = getSome('mytable', 'hometasks', '1');
data.then(res => // do something)
Также выглядит cosmos
имеет sdk
с поддержкой Promise
.
Подробнее о Promise
и async/await
в MDN