title: Custom thenables: Can I create my own objects with a "then" method?
body: <p>I'm wondering if custom "thenables" (aka an object with a <code>.then()</code> method) are approved/documented?  How do they compare to real Promises?  I suppose it matters how you implement then, so I'm wondering if there's documentation with some DOs and DONTs.</p>
  
  <p><a href="https://javascript.info/promise-chaining" rel="nofollow noreferrer">This page</a> suggests:</p>
  
  <blockquote>
    <p>.then may return an arbitrary “thenable” object, and it will be treated the same way as a promise.</p>
  </blockquote>
  
  <p>Can't find any docs on this.</p>