当使用firebase节点库(实时数据库)时,会返回一个promise,但是如果.then()
方法中的代码中发生异常会怎样?我怎样才能将代码转到.catch()
方法?这是我尝试使用catch方法的代码。
admin.database().ref('/something/something').once('value').then(function(data: admin.database.DataSnapshot) {
if(data.val() === null) {
return new TypeError('invalid');
}
}).catch(function(err) {
console.log(err);
});
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用async-await
简化错误处理,使代码更具可读性async function asyncFunction() {
try {
const data: admin.database.DataSnapshot = await admin.database().ref('/something/something').once('value');
if(data.val() === null) {
throw new TypeError('invalid');
}
} catch (err) {
console.log(err);
}
}