第一题 var p = new Promise((res,rej)=>{res(1)}); var p2 = p.then(console.log); console.log(p2);//此处只写p2的状态 var p3 = p2.then(console.log); setTimeout(()=>{ console.log(p3);//此处只写p3的状态 }) 第二题(噩梦) var p = new Promise((res,rej)=>{ res(new Promise((res,rej)=>{ res(1); })) }) var p2 = p.then((value)=>{ console.log(value); return new Promise((res,rej)=>{ setTimeout(()=>{ res(2); }) }) }) console.log("p2的状态:",p2)//此处写p2的状态 setTimeout(() => { console.log("p2的状态:",p2)//此处写p2的状态 }, 0); var p3 = p2.then(console.log); setTimeout(() => { console.log("p3的状态:",p3)//此处写p3的状态 }, 0);