fixed order bug
This commit is contained in:
		
							parent
							
								
									8daeae0e1d
								
							
						
					
					
						commit
						70eda0ad55
					
				| @ -30,7 +30,7 @@ | |||||||
|             ret = PromiseA.resolve(result); |             ret = PromiseA.resolve(result); | ||||||
|           } |           } | ||||||
| 
 | 
 | ||||||
|           ret.then(function (val) { |           return ret.then(function (val) { | ||||||
|             if (val === forEachAsync.__BREAK) { |             if (val === forEachAsync.__BREAK) { | ||||||
|               return PromiseA.reject(new Error('break')); |               return PromiseA.reject(new Error('break')); | ||||||
|               //throw new Error('break');
 |               //throw new Error('break');
 | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "foreachasync", |   "name": "foreachasync", | ||||||
|   "version": "5.0.1", |   "version": "5.0.2", | ||||||
|   "description": "A node- and browser-ready async (now with promises) counterpart of Array.prototype.forEach", |   "description": "A node- and browser-ready async (now with promises) counterpart of Array.prototype.forEach", | ||||||
|   "homepage": "https://github.com/FuturesJS/forEachAsync", |   "homepage": "https://github.com/FuturesJS/forEachAsync", | ||||||
|   "main": "forEachAsync.js", |   "main": "forEachAsync.js", | ||||||
|  | |||||||
| @ -7,21 +7,28 @@ | |||||||
|     ; |     ; | ||||||
| 
 | 
 | ||||||
|   forEachAsync([0, 500, 70, 200, 400, 100], function (element, i, arr) { |   forEachAsync([0, 500, 70, 200, 400, 100], function (element, i, arr) { | ||||||
|     // test that array order is as expected
 |     console.log(i, '/', arr.length, 'began'); | ||||||
|     console.log(element, 'is element', i, 'of', arr.length); | 
 | ||||||
|  |     var result | ||||||
|  |       ; | ||||||
| 
 | 
 | ||||||
|     // test that thisness is applied
 |     // test that thisness is applied
 | ||||||
|     this[element] = i; |     this[element] = i; | ||||||
| 
 | 
 | ||||||
|     if (i > 2) { |     if (i % 2) { | ||||||
|       // test that synchronous callbacks don't mess things up
 |       // test that synchronous callbacks don't mess things up
 | ||||||
|       return PromiseA.resolve(); |       result = PromiseA.resolve(); | ||||||
|     } else { |     } else { | ||||||
|       // test asynchronous callbacks
 |       // test asynchronous callbacks
 | ||||||
|       return new Promise(function (resolve/*, reject*/) { |       result = new Promise(function (resolve/*, reject*/) { | ||||||
|         setTimeout(resolve, element); |         setTimeout(resolve, element); | ||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     return result.then(function () { | ||||||
|  |       // test that array order is as expected
 | ||||||
|  |       console.log(i, '/', arr.length, 'complete'); | ||||||
|  |     }); | ||||||
|   }, context).then(function () { |   }, context).then(function () { | ||||||
|     // test that thisness carried
 |     // test that thisness carried
 | ||||||
|     console.log('context', context); |     console.log('context', context); | ||||||
|  | |||||||
| @ -6,21 +6,26 @@ | |||||||
|     ; |     ; | ||||||
| 
 | 
 | ||||||
|   forEachAsync([0, 500, 70, 200, 400, 100], function (element, i, arr) { |   forEachAsync([0, 500, 70, 200, 400, 100], function (element, i, arr) { | ||||||
|     // test that array order is as expected
 |     var p | ||||||
|     console.log(element, 'is element', i, 'of', arr.length); |       ; | ||||||
| 
 | 
 | ||||||
|     // test that thisness is applied
 |     // test that thisness is applied
 | ||||||
|     this[element] = i; |     this[element] = i; | ||||||
| 
 | 
 | ||||||
|     if (i > 2) { |     if (i % 2) { | ||||||
|       // test that synchronous callbacks don't mess things up
 |       // test that synchronous callbacks don't mess things up
 | ||||||
|       return Promise.resolve(); |       p = Promise.resolve(); | ||||||
|     } else { |     } else { | ||||||
|       // test asynchronous callbacks
 |       // test asynchronous callbacks
 | ||||||
|       return new Promise(function (resolve/*, reject*/) { |       p = new Promise(function (resolve/*, reject*/) { | ||||||
|         setTimeout(resolve, element); |         setTimeout(resolve, element); | ||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     return p.then(function () { | ||||||
|  |       // test that array order is as expected
 | ||||||
|  |       console.log(element, 'is element', i, 'of', arr.length); | ||||||
|  |     }); | ||||||
|   }, context).then(function () { |   }, context).then(function () { | ||||||
|     // test that thisness carried
 |     // test that thisness carried
 | ||||||
|     console.log('context', context); |     console.log('context', context); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user