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