Я ожидал, что обработчик обещания зарегистрирует обещание p1
(а не значение "A"), так как console.log
вызывается с p1
напрямую. Тем не менее, он каким-то образом записывает "A". Каким образом обещание p1
автоматически разрешено "A", не будучи вызванным на него? Например, console.log(p1)
не выводит "A" напрямую, как ожидается. Что-то происходит за кулисами?
var p1 = new Promise(function(resolve, reject) {
resolve("A");
});
var p2 = new Promise(function(resolve, reject) {
resolve(p1);
});
p2.then(function(v) {
console.log(v)
});