Javascript 我对承诺如何解决的理解正确吗?

Javascript 我对承诺如何解决的理解正确吗?,javascript,Javascript,我能确认我对下面代码的理解是否大致正确吗 函数抓取狗{ k=fetchhttps://dog.ceo/api/breeds/image/random console.logk; }; 取狗 没有 承诺永远是承诺。它的状态可能会从挂起变为已解决,但与承诺相关的任何内容都不会导致引用它们的变量发生变异以引用其已解决的值 要获得已解析的值,您需要使用或等待。首先,已解析的承诺仍然是承诺。该值不会神奇地被覆盖。那么,它实际上是在添加一个函数作为侦听器,并说,一旦承诺解决了,就用承诺解决的值运行这个函

我能确认我对下面代码的理解是否大致正确吗

函数抓取狗{ k=fetchhttps://dog.ceo/api/breeds/image/random console.logk; }; 取狗 没有

承诺永远是承诺。它的状态可能会从挂起变为已解决,但与承诺相关的任何内容都不会导致引用它们的变量发生变异以引用其已解决的值


要获得已解析的值,您需要使用或等待。

首先,已解析的承诺仍然是承诺。该值不会神奇地被覆盖。那么,它实际上是在添加一个函数作为侦听器,并说,一旦承诺解决了,就用承诺解决的值运行这个函数。因此,在函数内部,响应不是承诺,而是承诺的内容。实际的承诺仍然存在。考虑这个代码:

const x=Promise.resolveholl;//生成一个立即解析为hello的承诺 x、 thenv=>console.logv; x、 thenv=>console.logv; //hello被记录了两次
重新表述您的问题。在这两段代码中,k仍然是Promise对象。然后是注册回调函数的基本方式-承诺处理程序调用您传递到的任何函数。然后是承诺的结果。好的,“承诺继续存在”,但它是公正的。然后在承诺实现时捕获了承诺的“值”作为其参数?这就是它的基本功能。