This question already has an answer here:
Difference between defer().promise and Promise
(1个答案)
4年前关闭。
与推迟(使用您选择的库):
只是包装在一个承诺:
这两种情况之间有什么区别?您不必将所有代码都包装在promise中,这是唯一的真正好处吗?如果是这样的话,推迟的目的是什么?
(1个答案)
4年前关闭。
与推迟(使用您选择的库):
const deferred = library.defer();
if (condition) deferred.resolve('success');
else deferred.reject('fail');
deferred.promise.then((result) => console.log(result));
只是包装在一个承诺:
new Promise((resolve, reject) => {
if (condition) resolve('success');
else reject('fail');
}).then((result) => console.log(result));
这两种情况之间有什么区别?您不必将所有代码都包装在promise中,这是唯一的真正好处吗?如果是这样的话,推迟的目的是什么?
最佳答案
延迟对象是具有resolve
和reject
方法的对象,允许更改其状态。许诺没有。
至于以两种方式产生承诺,通常应该没有任何区别。我更喜欢Promises的语法,因为它将您的逻辑包装在一个函数中,并避免了用变量污染外部范围,但是仅此而已。
10-05 20:46