Why is the "then" property automatically accessed on an object returned from an async function?

When an object is returned from an asynchronous function something automatically accesses the .then property of that object. Why does this happen?

//Use a proxy to monitor property access of an object, warn if property accessed is "then"
const createProxiedPerson = person => new Proxy(person, {
  get: function(target, property, receiver) {
    const value = Reflect.get(target, property, receiver)
    if (property === "then") console.log({ target, property, receiver })
    return value

const getPersonAfterLoadingVideos = async person => {
  //person.videos = await fetch.....
  return createProxiedPerson(person)

getPersonAfterLoadingVideos({ name: "Bill", videoCategory: "funny cats", age: 45 })

170 thoughts on “Why is the "then" property automatically accessed on an object returned from an async function?”

  1. Hey would you mind stating which blog platform you’re working with?
    I’m planning to start my own blog soon but I’m having
    a difficult time deciding between BlogEngine/Wordpress/B2evolution and Drupal.
    The reason I ask is because your design and style seems different then most blogs and I’m looking for something unique.

    P.S Apologies for being off-topic but I had to ask! http://droga5.net/

  2. Pingback: online viagra
  3. Pingback: cialis shop
  4. Pingback: get cialis online
  5. Pingback: generic viagra
  6. Pingback: viagra alternative
  7. Pingback: cialis canada
  8. Pingback: viagra
  9. Pingback: cialis 10
  10. Pingback: cialis 20mg daily
  11. Pingback: how safe is viagra
  12. Pingback: cialis wirkung
  13. Pingback: sildenafil 50mg
  14. Pingback: chewable viagra
  15. Pingback: viagra history
  16. Pingback: cheap viagra
  17. Pingback: herb viagra
  18. Pingback: viagra amazon
  19. Pingback: viagra sildenafil
  20. Pingback: walmart viagra
  21. Pingback: cialis or viagra
  22. Pingback: pfizer viagra
  23. Pingback: liquid cialis
  24. Pingback: cialis mexico