46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: Promise Resolve
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								## Promise Resolve
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								### Description
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								A ```Promise.resolve``` function indicates the successful completion of a Promise. This function allows you to return a Promise to the calling function.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```Promise.resolve``` takes a single parameter to return to the calling function. This parameter can either be a value, a thenable, or another Promise. 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								A "value" for a resolve function can be basic JavaScript types, arrays, or objects. 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```javascript
							 | 
						||
| 
								 | 
							
								Promise.resolve('success'); // string
							 | 
						||
| 
								 | 
							
								Promise.resolve([2, 3, 5]); // array
							 | 
						||
| 
								 | 
							
								Promise.resolve({name: 'John', age: '43'}); // object
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								A "thenable" is a function that takes two callback functions as parameters. You can use the first parameter to trigger a successful completion, and the second to return an error on the Promise.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```javascript
							 | 
						||
| 
								 | 
							
								thenableFunction = {then: function(onSuccesss, onFailure) {
							 | 
						||
| 
								 | 
							
								    if (condition === 'success') {
							 | 
						||
| 
								 | 
							
								      onSuccess(paramList); // success condition
							 | 
						||
| 
								 | 
							
								    } else {
							 | 
						||
| 
								 | 
							
								      onFailure(paramList); // error condition
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Promise.resolve(thenableFunction);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Chaining a then function to a promise caller will give you access to the result of ```Promise.resolve```.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```javascript
							 | 
						||
| 
								 | 
							
								promiseCallingFunction(paramList)
							 | 
						||
| 
								 | 
							
								  .then(function(value) {
							 | 
						||
| 
								 | 
							
								    /* 
							 | 
						||
| 
								 | 
							
								     * this is where you get access to the value 
							 | 
						||
| 
								 | 
							
								     * returned by a promise on successful completion 
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								```
							 |