Promise
就是观察者模式的一般化实现。如果您使用过Rx
相关的库的话, 那么,这个理解起来就相当的容易了。
示例:
new Promise((onSuccess, onError) => {
console.dir(Promise, { showHidden : true, colors : true, depth : 3 });
console.dir(onSuccess, { showHidden : true });
console.dir(onError, { showHidden : true });
const value = doSomething();
if (value) {
onSuccess(value);
} else {
onError(new Error("unknown error!"));
}
})
.then(result => {
console.log('onSuccess() result = ' + result);
})
.catch(err => {
console.log('onError() err = ' + err);
});