```js var p = new Promise(function (resolve, reject) { resolve(new Promise(function(resolve2, reject2) { setTimeout(resolve2, 1000) })) reject(); }); p.then(function () { console.log(1) // correct }, function () { console.log(2) }) ``` `console.log(1)` is right behavior, `console.log(2)` is error behavior