【发布时间】:2015-08-24 15:53:30
【问题描述】:
看起来非常基本,基于 Promise 的实现没有返回我期望看到的值/数据。
这就是我期望这个界面工作的方式:
sdk.request(options) => Promise~Response → Object (JSON)
这是我模型中的代码:
return sdk.request(options).then(function (value) {
return value;
});
当我记录模型的返回时,我看到:
{
_bitField: 0,
_fulfillmentHandler0: undefined,
_rejectionHandler0: undefined,
_progressHandler0: undefined,
_promise0: undefined,
_receiver0: undefined,
_settledValue: undefined
}
当我看到_fulfillmentHandler0: undefined 似乎暗示没有履行处理程序时:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then
但履行处理程序似乎确实存在:
return sdk.request(options).then(function (value) {
// fulfillment handler, right?
return value;
});
【问题讨论】:
-
这可能是因为
handler是一个匿名函数吗?您是否尝试将普通命名函数作为处理程序传递? -
你想在 handler 中记录
value,而不是then返回的承诺
标签: javascript node.js promise bluebird