我正在检查"Promises/A +"规范,但无法理解以下内容:
在第1节.术语,
1.1."promise”是一个具有then方法的对象或函数,其行为符合此规范.
1.2.“thenable”是定义then方法的对象或函数.
那么术语"thenable"和有"promise"什么区别?
同样在2.3节.承诺解决程序,
promise解析过程是一个抽象操作,它将promise和value作为输入,我们将其表示为[[Resolve]](promise, x).
所以我的问题是:
为什么在2个开始和结束括号内表示?有没有约定?
非常感谢你.
我知道推迟分离承诺状态控制和处理,这里使用Q作为例子,承诺返回的承诺Q.defer().promise和Q.Promise完全不同,为什么设计这样?这两个"承诺"有什么区别
提前致谢
PS:我目前正在开发Promise库,欢迎使用issws和PRS:https://github.com/XiaomingJS/Xiaoming.Promise
考虑这种情况.
new Promise(function(resolve, reject) {
var x = resolve(2);
});
Run Code Online (Sandbox Code Playgroud)
什么价值x?我试图打印它,它告诉我undefined.它很直观,但总是如此吗?是在文档中吗?
第二个问题
new Promise(function(resolve, reject) {
resolve(2);
return 5;
});
Run Code Online (Sandbox Code Playgroud)
我们应该从我们投入承诺的函数中返回什么?这个值被忽略了吗?