Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to resolve promises when using app with REPL

I've got a basic Node webserver (Koa.js + a ORM). I like to start it with a REPL meaning I can use my app like a CLI-tool.

All my queries return Promises but I don't know how I can resolve them in the REPL. How can I resolve them?

For example the following code (fetch() queries the database and returns a promise) gives only this output Promise {_bitField: 4325376, _fulfillmentHandler0: undefined, _rejectionHandler0: undefined …}

Transaction.where('reference', '1').fetch().then((res) => return res)
like image 952
Hedge Avatar asked May 24 '17 22:05

Hedge


1 Answers

Update: Node.js now does this by default and resolves promises


Old answer:

You can't resolve them proper - but you can extract their references to the global scope:

> Transaction.where('reference', '1').fetch().then((res) => out = res)
[Object Promise]
> out
  /* your data outputted here since the global was assigned to*/

We might allow await in the REPL in the future in Node which would solve the issue more cleanly.

like image 135
Benjamin Gruenbaum Avatar answered Nov 10 '22 20:11

Benjamin Gruenbaum