I have this code:
var promise1 = new Promise(function(resolve, reject) {
setTimeout(() => {
console.warn(\'Elo\');
resolve(\'First response
Another way to think about it is:
Resolve === resolveCallback === first argument provided to your Promise callback
Promise.resolve === a function to returns a new Promise
These two are functional equivalents:
`const foo = Promise.resolve('First response').then( /* ... */ );`
`const bar = new Promise(function(resolveCallback, rejectCallback) {
resolveCallback('First response');
}).then( /* ... */ );`
The new Promise
constructor passes a specific function into your callback, which becomes your resolve
parameter. That promise (the one you're constructing there with new Promise
) can only be resolved by calling that specific resolve
function.
Promise.resolve
simply creates a new "pre-resolved" promise. It does not resolve any existing promise (nor would it have any way of knowing which promise it's supposed to resolve).