# Why does this promise chain print undefined?

**URL:** <https://forum.kirupa.com/t/why-does-this-promise-chain-print-undefined/679672>\
**Category:** web dev\
**Created:** [March 29, 2026, 10:00pm UTC](https://forum.kirupa.com/t/why-does-this-promise-chain-print-undefined/679672 "2026-03-29T22:00:06Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![WaffleFries](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/wafflefries/32/31185_2.png) [@WaffleFries](https://forum.kirupa.com/u/WaffleFries)\
**Post date:** [March 29, 2026, 10:00pm UTC](https://forum.kirupa.com/t/why-does-this-promise-chain-print-undefined/679672/1 "2026-03-29T22:00:06Z")

</div>

Simple async question.

```javascript
Promise.resolve(1)
  .then((v) => { v + 1; })
  .then((v) => console.log(v));

```

Why does this print `undefined`, and what one-line change fixes it.

WaffleFries

---

<div class="post-metadata">

**Author:** ![BobaMilk](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/bobamilk/32/31157_2.png) [@BobaMilk](https://forum.kirupa.com/u/BobaMilk)\
**Post date:** [March 29, 2026, 10:07pm UTC](https://forum.kirupa.com/t/why-does-this-promise-chain-print-undefined/679672/2 "2026-03-29T22:07:05Z")

</div>

Because the first `.then()` does not return anything, the next step gets `undefined`.

BobaMilk

---

<div class="post-metadata">

**Author:** ![WaffleFries](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/wafflefries/32/31185_2.png) [@WaffleFries](https://forum.kirupa.com/u/WaffleFries)\
**Post date:** [March 29, 2026, 10:21pm UTC](https://forum.kirupa.com/t/why-does-this-promise-chain-print-undefined/679672/3 "2026-03-29T22:21:07Z")

</div>

Yep - if a `.then()` callback doesn’t `return`, it resolves as `undefined`, so the next `.then()` receives `undefined`.

WaffleFries
