在promise中包装整个代码块时,promise和deferred之间的区别
Difference between promise and deferred when wrapping your entire block of code in a promise?
延迟(使用您选择的库):
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));
这两种情况有什么区别?唯一真正的好处是你不必把所有的代码都包装在一个承诺中吗?如果是这样的话,延期有什么意义?
resolve
和reject
方法的对象,允许更改其状态。承诺不会。
至于以两种方式产生承诺,一般来说应该没有任何区别。我更喜欢Promises的语法,因为它将逻辑封装在函数中,避免了变量污染外部范围,但仅此而已
相关文章:
- 使用promise和mongoose对文档进行排序
- 测试Angular Service解决错误回调中的promise
- 节点协同与生成器和Promise并行流量控制
- 根据是否解析了 Promise 从函数返回值
- 将一个方法转换为promise:Nodejs
- 函数在promise被解析后被调用,但Jasmine未通过测试.为什么?
- jQuery Deferred and promise-错误:对象没有't支持属性或方法'然后'
- 在jQuery中返回promise()或deferred有什么区别
- jQuery Deferred和Promise用于同步和异步函数的顺序执行
- 上下文混合在$.deferred.promise中
- CodedUI Test + deferred/promise:Mouse.Click() 执行点击,调用 httpPo
- 学习Javascript/Jquery promise&deferred,当多次使用时出现问题
- $.Deferred().promise vs $.get().promise
- Promise deferred ajax api jQuery
- 在promise中包装整个代码块时,promise和deferred之间的区别
- 在使用Q' deferred/promise时组合一个同步函数
- 在jQuery Deferred / Promise中包装webSql的executeSql调用
- 跨不同的对象属性设置deferred/promise
- Js的Deferred/Promise/Future与Scala等函数式语言相比
- 如何在自定义函数中使用jQuery的promise/ deferred