我有这个代码:
var promise1 = new Promise(function(resolve, reject) {
setTimeout(() => {
console.warn('Elo');
resolve('First response');
},
1000);
})
promise1
.then((resp) => {
console.warn('First then!');
});
并且它在一秒钟后解决了 promise ,然后控制台。警告'首先!'。
但是当我换行时:
resolve('First response');
对于
Promise.resolve('First response');
这是行不通的。 知道为什么吗?
也试过
return Promise.resolve('First response');
但它也不起作用。我不知道为什么。
你能帮我理解一下吗?
最佳答案
new Promise
构造函数将特定函数传递到您的回调中,它成为您的 resolve
参数。该 promise (您正在使用 new Promise
构建的 promise )只能通过调用特定的 resolve
函数来解决。
Promise.resolve
只是创建一个新的“预先解决”的 promise 。它不解决任何现有的 promise (也不会知道它应该解决的哪个 promise )。
关于javascript - Promise.resolve 与 resolve,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48764788/