let p1 = new Promise(function (resolve, reject) { setTimeout(function () { const n = Math.random() if (n > 0.5){ resolve(1) }else { reject(0) } },3000); }) let p2 = new Promise(function (resolve, reject) { setTimeout(function () { resolve(p1); console.log('*') },1000); }).then((data) => { console.log('resolve执行成功') console.log(data) }, (error) => { console.log('resolve执行失败') console.log(error) }) </script>
时间: 2024-04-02 16:06:36 浏览: 128
js代码-promise resolve reject
这段代码创建了两个 Promise 对象,p1 和 p2。当 p1 执行时,它会在 3 秒后生成一个随机数 n,如果 n 大于 0.5,则调用 resolve(1),否则调用 reject(0)。p2 会在 1 秒后执行,并且通过 resolve 调用传递了 p1 对象。
在 then() 方法中,我们定义了两个回调函数,一个用于处理成功的情况,一个用于处理失败的情况。如果 p1 的状态变为 resolved,成功的回调函数将被调用,并打印出 "resolve执行成功" 和 p1 对象。如果 p1 的状态变为 rejected,失败的回调函数将被调用,并打印出 "resolve执行失败" 和错误信息。
请注意,这段代码中的最后一行 "</script>" 是多余的,你可能需要将其删除。
阅读全文