我正在使用Chrome v.35,据报道它为Promise提供原生支持。浏览器确实识别了Promise构造函数,但是以无数示例中显示的方式使用它并且Web上的文档链接不起作用。
以下是我创建Promise的方法:
var promise = new Promise(function(resolve,reject) {
self.events.on("reply",function(event) {
if (event.msgId === id) {
resolve(event.packet);//we get here, but fail to step into method resolve
}
});
self.events.on("cancelReply",function(event) {
if (event.msgId === id) {
reject(Error(event.msgId));
}
});
});
调用回调“resolve”无效。在调试器中,函数存在,但是进入它只是将控制传递给下一行。并且永远不会调用promise上的“then”方法:
promise.then(function(result) {
//we never get here
});
有人可以告诉我我错过了什么吗?
答案 0 :(得分:0)
调试器不会因为它的本机代码而步入解决方案。
我怀疑你的代码中的错误是阻止resolve
实际被调用(可能是回复事件未来,或者id不匹配)。