Orsaken är:"Frågan körs om återuppringning skickas annars returneras ett frågeobjekt." (under retursektionen)
.then()
är egentligen inte ett löfte, den är förklädd av mangust men fungerar som en avrättning.
Du kan se hur den utför frågor här
.exec()
från dokumentationen
"Kör frågan" och returnerar ett löfte (sant)