我一直在遵循有关承诺(https://www.youtube.com/watch?v=7IkUgCLr5oA)的官方Firebase教程,但就我而言,我无法使其成功。
const promise = userRef.push({text:text});
const promise2 = promise.then((snapshot) => {
res.status(200).json({message: 'ok!'});
});
promise2.catch(error => {
res.status(500).json({message: 'error'});
});
我在做什么错?万一出现问题,每个then()应该都有其响应,但这就是为什么我要编写promise2 catch的原因。
答案 0 :(得分:0)
只需在发送响应之前添加return
。
const promise = userRef.push({text:text});
const promise2 = promise.then((snapshot) => {
return res.status(200).json({message: 'ok!'});
});
promise2.catch(error => {
return res.status(500).json({message: 'error'});
});
您还可以按如下方式链接承诺:
return userRef.push({text:text})
.then((snapshot) => {
return res.status(200).json({message: 'ok!'});
}).catch(error => {
return res.status(500).json({message: 'error'});
});