【发布时间】:2019-02-19 20:35:06
【问题描述】:
这是我正在尝试部署的谷歌云功能的代码。我收到一个错误,说我的 .then() 承诺或不一致。有谁知道我做错了什么?
const admin = require('firebase-admin');
const twilio = require('./twilio');
module.exports = function(req, res) {
if (!req.body.phone) {
return res
.status(422)
.send({ error: 'You must provide a phone number' });
}
const phone = String(req.body.phone).replace(/[^\d]/g, '');
admin
.auth()
.getUser(phone)
.then(userRecord => {
const code = Math.floor((Math.random() * 8999 + 1000));
const message = {
body: 'Your code is ' + code,
to: phone,
from: '+18053167032'
};
const callback = (err) => {
if (err) {
return res.status(422).send(err);
}
admin
.database()
.ref('users/' + phone)
.update(
{ code: code, codeValid: true },
() => { res.send({ success: true }
);
};
twilio.messages.create(message, callback);
})
.catch((err) => {
res.status(422).send({ error: err });
});
}
【问题讨论】:
-
仅供参考,您可以通过选择所有代码并使用编辑器中的 {} 按钮缩进整个代码来正确格式化代码。
-
您能否编辑问题以准确显示您收到的错误?
-
我已经使代码可读,部分原因是将参数分解为
twilio.messages.create。
标签: javascript firebase promise google-cloud-functions twilio-api