You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					34 lines
				
				670 B
			
		
		
			
		
	
	
					34 lines
				
				670 B
			| 
											3 years ago
										 | 'use strict'; | ||
|  | 
 | ||
|  | // async function* asyncIterator() {
 | ||
|  | //   while (true) {
 | ||
|  | //     const value = await this.next();
 | ||
|  | //     if (!value) {
 | ||
|  | //       await this.close();
 | ||
|  | //       return;
 | ||
|  | //     }
 | ||
|  | 
 | ||
|  | //     yield value;
 | ||
|  | //   }
 | ||
|  | // }
 | ||
|  | 
 | ||
|  | // TODO: change this to the async generator function above
 | ||
|  | function asyncIterator() { | ||
|  |   const cursor = this; | ||
|  | 
 | ||
|  |   return { | ||
|  |     next: function() { | ||
|  |       return Promise.resolve() | ||
|  |         .then(() => cursor.next()) | ||
|  |         .then(value => { | ||
|  |           if (!value) { | ||
|  |             return cursor.close().then(() => ({ value, done: true })); | ||
|  |           } | ||
|  |           return { value, done: false }; | ||
|  |         }); | ||
|  |     } | ||
|  |   }; | ||
|  | } | ||
|  | 
 | ||
|  | exports.asyncIterator = asyncIterator; |