【发布时间】:2021-05-24 02:55:42
【问题描述】:
我在客户端有一个按钮,可以帮助我测试后端功能的简化版本。出于某种原因,客户端(Android Studio 中的 Logcat)返回 test button isUsernameAvailable: Success. result.data = 2000。当我查看 Firebase 控制台时,我看到代码到达了 _isUsernameAvailable REACHED THEN。但是,我不明白为什么客户收到2000 而不是5。如果到达上述部分,则后面的行将显示为return 5。为什么我的客户没有收到5?
客户端代码:
testbutton.setOnClickListener() {
functions = Firebase.functions
var data = hashMapOf<String, Any>()
data["username"] = "ThisUsernameDoesntExist"
functions.getHttpsCallable("isUsernameAvailable")
.call(data)
.addOnSuccessListener {result ->
Log.e(tag, "test button isUsernameAvailable: Success. result.data = " + result.data.toString())
}
.addOnFailureListener {exception ->
Log.e(tag, "test button failure exception: $exception")
}
}
云功能代码:
//Check if username is available (callable from client)
exports.isUsernameAvailable = functions.https.onCall(async(data, context) => {
const username = data.username
await admin.firestore().collection('users').where('username', '==', username).limit(1).get()
.then(result => {
console.log('_isUsernameAvailable REACHED THEN ')
return 5
})
.catch(error => {
console.log('_isUsernameAvailable REACHED CATCH ')
return 6
})
return 2000
});
【问题讨论】:
标签: android typescript kotlin google-cloud-firestore google-cloud-functions