从节点 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.value
或 p.state
.
直接获取值或状态
我可以这样做:
nesh> var data
undefined
nesh> p.then(function(_data) { data = _data })
然而,对于流畅的 REPL 工作流来说,感觉笨拙和不舒服。
有什么想法吗?
var p = functionThatReturnsPromise();
Promise 确实定义了 state
和 value
,但要访问它,您需要对此使用 valueOf()
函数。
p.valueOf() ==> promise value
p.inspect() ==> { state: 'fulfilled', value: 'data' }
你可以试试这个:
p.then(函数(值){调试器;});
Then "continue" -- 当 promise 完成并调用回调时,执行将停止。但是请注意,它似乎冻结了,节点 0.12.4,尽管我认为这是一个节点错误——也许对你有用。
考虑这个简单的 Q promise 对象:
nesh> var p = functionThatReturnsPromise();
REPL 足以输出承诺的状态和价值,如果我去:
nesh> p
{ state: 'fulfilled',
value:
{
// (data properties)
}
}
假设我确实在等待 promise 实现,我无法通过 p.value
或 p.state
.
我可以这样做:
nesh> var data
undefined
nesh> p.then(function(_data) { data = _data })
然而,对于流畅的 REPL 工作流来说,感觉笨拙和不舒服。
有什么想法吗?
var p = functionThatReturnsPromise();
Promise 确实定义了 state
和 value
,但要访问它,您需要对此使用 valueOf()
函数。
p.valueOf() ==> promise value
p.inspect() ==> { state: 'fulfilled', value: 'data' }
你可以试试这个:
p.then(函数(值){调试器;});
Then "continue" -- 当 promise 完成并调用回调时,执行将停止。但是请注意,它似乎冻结了,节点 0.12.4,尽管我认为这是一个节点错误——也许对你有用。