Javascript 设置承诺对空对象的影响

Javascript 设置承诺对空对象的影响,javascript,promise,Javascript,Promise,我有一个用户进行选择的用例。我开始承诺。对于最基本的情况,用户进行第二次选择,承诺得到解决 在更复杂的用例中,用户进行第二次选择,结果必须“重新开始”。因此,我希望发生的是,未兑现的承诺被“取消”,新的承诺被启动 我是新的承诺,并与蓝鸟图书馆工作。我使用了.cancel(),但似乎没有按要求工作。据我所知,诺言仍然存在。接下来的迭代开始互相绊倒 我们所做的工作就是创造这样的承诺: var el=承诺.解决(id) 然后简单地取消时: el={} 正如我所指出的,一切似乎都很好。我的问题是,给一个

我有一个用户进行选择的用例。我开始承诺。对于最基本的情况,用户进行第二次选择,承诺得到解决

在更复杂的用例中,用户进行第二次选择,结果必须“重新开始”。因此,我希望发生的是,未兑现的承诺被“取消”,新的承诺被启动

我是新的承诺,并与蓝鸟图书馆工作。我使用了.cancel(),但似乎没有按要求工作。据我所知,诺言仍然存在。接下来的迭代开始互相绊倒

我们所做的工作就是创造这样的承诺:

var el=承诺.解决(id)

然后简单地取消时:

el={}


正如我所指出的,一切似乎都很好。我的问题是,给一个空的物体设定承诺会造成伤害吗?我是否留下了永远无法解决的代码?我缺少一些基本的东西吗?

有没有一个例子说明这会产生不想要的行为
el={}
不会取消任何承诺,它只是将
el
(变量!而不是承诺)分配给一个新对象。是否在配置中启用了取消?默认情况下,它处于关闭状态@IrkenInvader:是我启用的。@Caramiriel:这是我关心的问题。重新分配变量在我的代码中起作用。但是离开这个承诺意味着什么呢?它是否停留在内存中并随着时间的推移而累积,几乎像内存泄漏一样?也许我应该取消承诺,然后重新分配变量?老实说,我并没有想同时做这两件事。为什么不干脆
reject()
一个带有特定
原因的原始承诺,告诉调用代码它被拒绝的原因,以便它可以相应地采取行动呢?或者,您可以启动一个新操作,该操作现在链接到原始承诺上,当新操作解析或拒绝时,将成为原始承诺的结果。这使得调用代码更简单,因为它不必知道任何内部内容。最终,它只是得到了一个解决或拒绝。