JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JavaScript – 关于承诺/ A规范,术语“可以”和“承诺”有什么区别?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在检查“承诺/ A”规范,但无法理解以下事项:

第1节术语,

1.1. “promise”是一个对象或函数,其方法的行为符合本规范.

1.2. “thenable”是定义then方法的对象或函数.

那么术语“可以”和“承诺”有什么区别呢?

也在2.3节.承诺解决程序,

承诺解决程序是一个抽象的操作,作为输入的承诺和价值,我们表示为[[解决]](promise,X).

所以我的问题是:

为什么在2个开闭括号内表示?有什么约定吗

非常感谢你.

解决方法

我认为你已经引用的部分答案很好:

> a thenable是一个具有then方法的对象.任何对象.
>承诺是一种符合规范的方法(即可以)的对象.

到目前为止这么简单我认为你的实际问题是:“他们为什么要区别?

问题是通过查看一个对象,你无法决定是否是一个承诺.
你可能可以说这是一个承诺,因为你可以看到它的方法是由你自己或你信任的人实现的 – 通常你选择的诺基亚图书馆.您将能够“看到”,因为该对象确实从您的承诺原型中继承,或者甚至可以比较与所定义的函数相同的方法.或任何其他检查方法足够你.
你可能可以说这不是一个承诺,因为它没有那个方法.
但是对于那个实现的对象,你做什么呢,但不知道是一个诺言呢?这是一个可以的,将被处理这样.

Promises / A规范旨在实现承诺之间的互操作性,并使用duck typing的.then()方法的存在.它确定了如何处理这种可能性(可能是承诺或至少具有类似行为)的精确算法,以便您可以从中创建一个实际的,受信任的(“已知”)承诺.

是的,ECMAScript规范使用internal methods and properties的这种语法:

这些属性实际上并不需要存在,它们纯粹用于描述应该发生什么 – 实现必须像使用它们一样行事.他们是完全抽象的操作.

大佬总结

以上是大佬教程为你收集整理的JavaScript – 关于承诺/ A规范,术语“可以”和“承诺”有什么区别?全部内容,希望文章能够帮你解决JavaScript – 关于承诺/ A规范,术语“可以”和“承诺”有什么区别?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。