我正在使用Firebase,在这里我使用了一些Promise(在React Native应用中)。
我正在尝试部署,但是ESLINT抱怨我的then子句不返回任何内容:
admin.auth().getUser(phone)
.then(userRecord => {
const code = Math.floor((Math.random() * 8999 + 1000))
twilio.messages.create({
body: 'Your code is ' + code,
to: phone,
from: '+4915735984308'
}, (err) => {
if (err) { return res.status(422).send(err) }
admin.database().ref('users/' + phone)
.update({code: code, codeValid: true}, () => {
res.send({success: true})
})
})
})
.catch((err) => {
res.status(422).send({error: err})
})
问题是,我不想返回任何东西,只是在数据库中写东西。我尝试了以下方法,但没有成功:
.then(userRecord => {
const code = Math.floor((Math.random() * 8999 + 1000))
twilio.messages.create({
body: 'Your code is ' + code,
to: phone,
from: '+4915735984308'
}, (err) => {
if (err) { return res.status(422).send(err) }
admin.database().ref('users/' + phone)
.update({code: code, codeValid: true}, () => {
res.send({success: true}, () => {return true})
})
}, () => {return true})
})
.catch((err) => {
res.status(422).send({error: err}, () => {return true})
})
有人可以帮我吗?我应该在哪里写return语句?
答案 0 :(得分:1)
只需尝试返回最后一行
admin.auth().getUser(phone)
.then(userRecord => {
const code = Math.floor((Math.random() * 8999 + 1000))
return twilio.messages.create({
body: 'Your code is ' + code,
to: phone,
from: '+4915735984308'
}, (err) => {
if (err) { return res.status(422).send(err) }
admin.database().ref('users/' + phone)
.update({code: code, codeValid: true}, () => {
res.send({success: true})
})
})
})
.catch((err) => {
res.status(422).send({error: err})
})