rewriting awaitAvailability
This commit is contained in:
		
							parent
							
								
									4cbc2b344d
								
							
						
					
					
						commit
						e009ae3127
					
				
					 1 changed files with 11 additions and 8 deletions
				
			
		|  | @ -310,14 +310,17 @@ export class Guild extends Base { | ||||||
|    * Fulfills promise when guild becomes available |    * Fulfills promise when guild becomes available | ||||||
|    * @param delay the delay between checking guild availability |    * @param delay the delay between checking guild availability | ||||||
|    */ |    */ | ||||||
|   async awaitAvailability( |   async awaitAvailability(delay: number = 1000): Promise<void> { | ||||||
|     delay: number = 1000 |     if(!this.unavailable) return; | ||||||
|   ): Promise<void> { |     var loaded = false; | ||||||
|       while(true) { |     var listener = (guild: Guild) => loaded = loaded || guild.id == this.id; | ||||||
|         await new Promise(resolve => setTimeout(resolve, delay)) |     this.client.on('guildLoaded', listener); | ||||||
|         if(!this.unavailable) { |     while(true) { | ||||||
|           return; |       await new Promise(resolve => setTimeout(resolve, delay)); | ||||||
|         } |       if(loaded) { | ||||||
|  |         this.client.removeListener('guildLoaded', listener); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue