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  | ||
|  |      */ | ||
|  |   }); | ||
|  | ``` |