我对承诺的理解并不完美。
请帮助我正确编写代码。
有功能:
function getData(name){
if(!name){
return P.reject(new Error('Name is required'));
}
...}
这是另一个功能
function doStuff(){
return something.getData().done(null, function(err) {
console.log('ok');
});
...}
在bluebird中,当我调用doStuff()时,它应该处理被拒绝的承诺,因为Promise.prototype.catch()会这样做
.done(
[function(any value) fulfilledHandler],
[function(any error) rejectedHandler]
) -> undefined
但仍然抛出错误:
ERROR: Name is required
为什么以及如何处理它?</ p>