new Promise((resolve, reject) => {
时间: 2023-09-24 20:11:12 浏览: 83
这是一个创建 Promise 对象的语法,其中 resolve 和 reject 是两个函数参数,分别用于处理 Promise 的成功和失败状态。在 Promise 执行过程中,如果遇到错误,可以通过调用 reject 函数来将 Promise 状态设置为失败,反之则通过调用 resolve 函数将 Promise 状态设置为成功。
相关问题
count p1=new Promise((resolve,reject)=>{ resolve(1) }); count p2=new Promise((resolve,reject)=>{ resolve(2) }); p1.then(res=>{ console.log(res); return p2; }).then(res=>{ console.log(res); }).then(res=>{ console.log(res); })
这段代码创建了两个Promise实例p1和p2,p1的状态为已解决并且结果为1,p2的状态也为已解决并且结果为2。然后使用Promise的链式调用方式,对p1进行操作。
在第一个`.then`中,当p1的状态变为已解决时,会执行回调函数并打印出结果1。然后在回调函数中返回p2,将p2作为下一个Promise实例进行处理。
在第二个`.then`中,当p2的状态变为已解决时,同样会执行回调函数并打印出结果2。
在第三个`.then`中,由于前面的Promise实例没有返回结果,所以回调函数的参数为undefined,打印出undefined。
因此,运行这段代码会依次输出1、2、undefined到控制台。
/** * @param {number} millis */ async function sleep(millis) { // return new Promise((resolve, reject) => { // setTimeout(() => { // resolve() // }, millis) // }) return new Promise(resolve => setTimeout(resolve, millis)) } /** * let t = Date.now() * sleep(100).then(() => console.log(Date.now() - t))
这段代码是用 JavaScript 实现的一个异步函数 `sleep`,它的作用是让当前执行的线程休眠指定的毫秒数。在这里,它使用了 `Promise` 对象来实现异步调用,当 `sleep` 函数被调用时,它会返回一个 `Promise` 对象,该对象会在指定的时间后被 `resolve`,从而表示休眠结束。
调用 `sleep` 函数时,可以使用 `then` 方法来注册一个回调函数,该函数会在 `Promise` 对象被 `resolve` 时被调用。在这个例子中,回调函数只是简单地打印了当前时间与休眠时间的差值,以此来验证 `sleep` 函数的正确性。
阅读全文