最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

使用带有REPL的应用程序时如何解决承诺

IT培训 admin 4浏览 0评论

使用带有REPL的应用程序时如何解决承诺

我有一个基本的Node webserver(Koa.js +一个ORM)。我喜欢用REPL开始它,这意味着我可以像CLI工具一样使用我的应用程序。

我的所有查询都返回Promises,但我不知道如何在REPL中解决它们。我该如何解决?

例如,以下代码(fetch()查询数据库并返回一个promise)只给出这个输出Promise {_bitField: 4325376, _fulfillmentHandler0: undefined, _rejectionHandler0: undefined …}

Transaction.where('reference', '1').fetch().then((res) => return res)
回答如下:

更新:Node.js现在默认执行此操作并解析promise


老答案:

您无法正确解决它们 - 但您可以提取它们对全局范围的引用:

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

我们可能会在未来的节点中允许在REPL中使用await,这样可以更清晰地解决问题。

使用带有REPL的应用程序时如何解决承诺

我有一个基本的Node webserver(Koa.js +一个ORM)。我喜欢用REPL开始它,这意味着我可以像CLI工具一样使用我的应用程序。

我的所有查询都返回Promises,但我不知道如何在REPL中解决它们。我该如何解决?

例如,以下代码(fetch()查询数据库并返回一个promise)只给出这个输出Promise {_bitField: 4325376, _fulfillmentHandler0: undefined, _rejectionHandler0: undefined …}

Transaction.where('reference', '1').fetch().then((res) => return res)
回答如下:

更新:Node.js现在默认执行此操作并解析promise


老答案:

您无法正确解决它们 - 但您可以提取它们对全局范围的引用:

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

我们可能会在未来的节点中允许在REPL中使用await,这样可以更清晰地解决问题。

发布评论

评论列表 (0)

  1. 暂无评论