Дорогие люди, которые умнее меня (всех).Я пытаюсь использовать NodeJS, чтобы вытягивать AWS SQS каждые 20 секунд (длительное вытягивание).Как только он получит сообщение, функция перекодирует видео, которое может занять до 5 минут.
Проблема: Я не хочу использовать AWS SQS, если я все еще обрабатываю видео.Итак, мне нужна моя функция setInterval, чтобы пропустить функцию aws.SQS.recieveMessage, если мое обещание не выполнено.Кто-нибудь знает хороший способ сделать это?
Вот мой ужасный тест, чтобы увидеть, смогу ли я получить концепцию (не работает):
// Quick Testbed
let asyncthingy = asyncCall();
const testTimer = () => {
if (!asyncthingy.promise){
asyncthingy = asyncCall();
}
console.log("I executed the specified function");
}
function resolveAfter4Seconds() {
return new Promise(resolve => {
setTimeout(() => {
resolve('resolved');
},4000);
});
}
async function asyncCall() {
console.log("I'm the async call");
let result = await resolveAfter4Seconds();
}
setInterval(testTimer, 1500);