Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

290
Views
How are KnexJS queries created? What finalizes the query?

I'm using KnexJS to create queries. I'm confused on what actually finalizes the query though.

Take for instance, this query:

knex('someTable').join('someOtherTable', 'someTable.fid', '=', 'someOtherTable.pid').select('someField');

The other way to write the query:

knex.select('someField').from('someTable').join('someOtherTable', 'someTable.fid', '=', 'someOtherTable.pid')

I don't fully understand when you would want to do Method 1 over 2, and vice versa. But what I'm really confused about is how knex "knows" when the query is done being built and the query is actually executed. Can anyone shed some light on this? It would make sense if there was some sort of .build() method at the end. But without it, I'm confused.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Knex query gets triggered when it's .then() method is called. Because the async/await keyword internally calls a Promise's .then() method using the await keyword with a knex object will also finalize it. Note that Promise.all() will also try to call the .then() method of promises passed to it so Promise.all() will also finalize a knex query.

So basically knex queries gets finalized and transmitted to the database when:

  1. you call it's .then() method

  2. you use the await keyword on it

  3. you pass it to Promise.all()

But note that (2) and (3) are actually just different versions of (1),

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!