Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解析承诺的q.catch()等价物是什么?_Javascript_Parse Platform - Fatal编程技术网

Javascript 解析承诺的q.catch()等价物是什么?

Javascript 解析承诺的q.catch()等价物是什么?,javascript,parse-platform,Javascript,Parse Platform,在Q-promise库中,如果存在诸如TypeError:无法读取未定义的属性“blah”之类的随机问题,则可以通过Q.catch()块处理该问题 但在Parse promise库中,如果then()块中存在这样的问题,我目前认为除了在每个then() 我错过什么了吗?解析承诺的q.catch()等价物是什么 或者,如果没有每个then()块中的try/catch块,这些错误根本不可能捕获 .then(功能(数据)){ 试一试{ //对可能引发异常/错误的数据执行某些操作 } 捕获(例外){

在Q-promise库中,如果存在诸如
TypeError:无法读取未定义的属性“blah”之类的随机问题,则可以通过
Q.catch()
块处理该问题

但在Parse promise库中,如果
then()
块中存在这样的问题,我目前认为除了在每个
then()

我错过什么了吗?解析承诺的q.catch()等价物是什么

或者,如果没有每个
then()
块中的try/catch块,这些错误根本不可能捕获


.then(功能(数据)){
试一试{
//对可能引发异常/错误的数据执行某些操作
}
捕获(例外){
返回Parse.Promose.error(异常);
}
})

根据,所有Promises/A+兼容库(包括Parse promise库)中的
.then()
函数接受两次回调-
onCompleted
onRejected
。如果第一个参数,即。
oncompleted
抛出异常,承诺将被拒绝,第二个参数将被调用

换句话说,您的示例可以改写为:

.then(函数(数据){
//对可能引发异常/错误的数据执行某些操作
},功能(例外){
//处理异常
})


此外,解析承诺(像许多承诺库一样)提供了更简洁的方法。具体来说,如果承诺被拒绝,您可以使用.fail()连接回调以获得调用。

我研究得越多,恐怕还没有真正的替代方案。我向Parse+Facebook提交了一个bug,如果这对你来说很重要,可能是你可以插话在那里表示支持:尝试了它并且
。fail()
无法捕获错误,如果我们将try/catch显式地放在
然后
块中,我们可能无法捕获错误。。。给定Parse的实现。我不是问每个人都会被拒绝,我只是想用解析来处理类似运行时错误这样的极端情况。