Guest User

Untitled

a guest
Apr 2nd, 2021
837
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   let resolveOnConsumption: (e: Error) => void
  2.   const consumptionPromise = new Promise<Error>(resolve => {
  3.     resolveOnConsumption = resolve
  4.   })
  5.   await consumer.run({
  6.     eachMessage: async ({ message }) => {
  7.       resolveOnConsumption()
  8.     },
  9.   })
  10.  
  11.   const timeoutPromise = new Promise<'timeout'>(res => setTimeout(() => res('timeout'), timeoutMs))
  12.  
  13.   return Promise.race([errorPromise, timeoutPromise])
  14.     .then(timeoutOrConsumed => {
  15.       if (timeoutOrConsumed === 'timeout') {
  16.         throw new Error('Message not consumed before the timeout')
  17.       }
  18.     })
  19.     .finally(() => consumer.disconnect())
Advertisement
Add Comment
Please, Sign In to add comment