关于promise状态及参数传递的问题
// code1
var p1 = new Promise((resolve, reject)=>resolve('ff'));
var p2 = new Promise((resolve, reject)=>reject(p1));
p2.then(result => console.log('1', result)).catch(error => console.log('2', error))
// 输出:2
// code2
var p1 = new Promise((resolve, reject)=>reject('ff'));
var p2 = new Promise((resolve, reject)=>resolve(p1));
p2.then(result => console.log('1', result)).catch(error => console.log('2', error))
// 输出:2 ff
code1运行后p1 p2的状态分别为resolved rejected,code1运行后p1 p2的状态分别为rejected rejected。根据相关资料的说法,p2的状态应该由p1决定,为什么code1中p2与p1的状态不一致呢;还有为什么code1中没能输出"ff"呢?