resolve方法
solve() 方法用于将现有的对象转为 Promise 对象,并且状态变为resolved。
1. 语法
solve(value)
value:将要被转换为 Promise 的值
3. 不同类型参数的处理
3.1 传入一个 thenable 对象
当传入solve有一个 thenable 对象时,solve会调用这个 thenable 对象的 then 方法,并将 solve的结果作为then方法的参数进行传递。
3.2 传入一个 promise 对象
当传入的参数是一个 promise 对象时,solve 会直接原样返回它。
3.3 传入除thenable对象之外的其它值
它会直接返回一个新的Promise对象,状态为resolved,并返回相应的参数值。
4. 举例说明
//1
solve('foo')
// 等价于
new Promise(resolve => resolve('foo'))
//2
let thenable = {
then: function(resolve, reject) {
resolved是什么状态 resolve(42);
}
};
总结:solve() 方法可以将现有的对象转为 Promise 对象,并且状态变为resolved,其参数可以是 thenable 对象、promise 对象和其它类型的值,如果传入其它类型的参数,会将其转换为promise实例,并且状态变为resolved,参数本身不变。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论