【问题标题】:Console.log() prints state and value of a promise object in QConsole.log() 在 Q 中打印承诺对象的状态和值
【发布时间】:2018-01-13 02:00:09
【问题描述】:

当我尝试从 Q 打印一个 promise 对象时,我得到了以下结果。

var Q = require('q');
var defaultPromise = new Q();
console.log('defaultPromise', defaultPromise);

defaultPromise { state: 'fulfilled', value: undefined }

字段状态和值从哪里来,我尝试通过visual studio代码找到它们,字段不存在。

【问题讨论】:

  • 对Q一无所知,但这些属性似乎是其构造函数的返回值。
  • 我可以在 Q 的源代码中看到十几个对 state 的引用,还有更多 value 属性的引用 - 你在看 q.js 吗?附带说明:Q 在2.3.1 上未通过promise aplus 测试-因此,它不符合Promise/A+ :p
  • 我认为您不需要将newq 一起使用。

标签: javascript node.js promise q


【解决方案1】:

promise 必须处于以下三种状态之一:待处理、已完成或已拒绝。

promise 必须提供 then 方法来访问其当前或最终值或原因。

Promises/A+

Q(value) 返回一个用值实现的承诺。在你的情况下,未定义。 Q API Reference

【讨论】:

    猜你喜欢
    • 2015-05-12
    • 1970-01-01
    • 2018-03-24
    • 2014-08-07
    • 2012-12-14
    • 2018-06-17
    • 2015-02-25
    • 2017-03-18
    • 2014-01-04
    相关资源
    最近更新 更多