从节点 REPL 中已完成的 Q promise 对象获取数据

Getting data from fulfilled Q promise object in node REPL

考虑这个简单的 Q promise 对象:

nesh> var p = functionThatReturnsPromise();

REPL 足以输出承诺的状态和价值,如果我去:

nesh> p
{ state: 'fulfilled',
  value: 
   {
     // (data properties)
   }
}

假设我确实在等待 promise 实现,我无法通过 p.valuep.state.

直接获取值或状态

我可以这样做:

nesh> var data
undefined
nesh> p.then(function(_data) { data = _data })

然而,对于流畅的 REPL 工作流来说,感觉笨拙和不舒服。

有什么想法吗?

var p = functionThatReturnsPromise();

Promise 确实定义了 statevalue,但要访问它,您需要对此使用 valueOf() 函数。

p.valueOf() ==> promise value
p.inspect() ==> { state: 'fulfilled', value: 'data' }

你可以试试这个:

p.then(函数(值){调试器;});

Then "continue" -- 当 promise 完成并调用回调时,执行将停止。但是请注意,它似乎冻结了,节点 0.12.4,尽管我认为这是一个节点错误——也许对你有用。