gpt4 book ai didi

javascript - 捕获 promise 中的拒绝

转载 作者:行者123 更新时间:2023-12-03 07:22:34 24 4
gpt4 key购买 nike

我想保留来自 func() reject 的错误,而不是选择直接发送到 onError()

之前我总是让func()resolve,并在yield func()之后确定返回结果,
如果我想直接使用 onError() 使用 throw ..;

想知道更好的主意,我可以让 func() reject 但在 yield func() 之后决定,直接到 onError () 或不

co(function* () {
yield func();
// if reject catch here, not direct to onError


yield func();
// if reject don't catch here just direct to onError

}).then(function (response) {
response = JSON.stringify(response);
res.send(response);
}, function (err) {
onError(err);
});


// ...
func: function() {
return new Promise(function (resolve, reject){
...
reject();
});
},

最佳答案

co 支持 try/catch:

co(function* () {
try{
yield func();
}
catch {
// if reject catch here, not direct to onError
}




yield func();
// if reject don't catch here just direct to onError

}).then(function (response) {
response = JSON.stringify(response);
res.send(response);
}, function (err) {
onError(err);
});

查看文档:https://www.npmjs.com/package/co#examples

关于javascript - 捕获 promise 中的拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36146468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com