更新:我正在从firebase控制台获取此信息:函数执行耗时2906毫秒,完成状态代码:200秒,15秒后,我获取:控制台。日志文件确实存在
我正在运行这个云firestore功能。它“工作”,但我经常得到这个作为回报:颤振:空
但在firebase控制台中,我得到了控制台。显示“文档确实存在”的日志。
解决这个问题的办法是什么?语言打字稿
非常感谢!
export const pubVer = functions.https.onCall((data, context) => {
console.log(data.message);
const kRef = admin.firestore().collection('Keys').doc(data.message)
kRef.get()
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
return {returnMessage: 'FALSE'}
} else {
console.log('DOC DOES EXIST');
return {'returnMessage: 'TRUE'}
}
})
.catch(err => {
console.log('Error getting document', err);
});
});
我建议使用async/wait可以帮助您调试
export const pubVer = functions.https.onCall(async (data, context) => {
const documentId = data.message;
const kRef = admin.firestore().collection('Keys').doc(documentId);
try {
const doc = await kRef.get();
if (!doc.exists)
throw new Error('No such document!');
return doc.data();
} catch (e) {
console.log(e);
return null;
}
});
可调用函数必须返回与要发送到客户端的数据解析的promise。如图所示,函数在顶层没有返回任何内容。从然后
回调返回是不够的。您还需要返回
返回的promise,然后
:
export const pubVer = functions.https.onCall((data, context) => {
console.log(data.message);
const kRef = admin.firestore().collection('Keys').doc(data.message)
return kRef.get()
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
return {returnMessage: 'FALSE'}
} else {
console.log('DOC DOES EXIST');
return {'returnMessage: 'TRUE'}
}
})
.catch(err => {
console.log('Error getting document', err);
});
});
注意:同样的代码,当使用在另一个帐户的firebase工作,我似乎不能解决问题。
我试图调用google speech to text api,但它总是返回空结果。我从这个答案中得到了实现提示:在dart、FLATTER中使用gcloud语音api进行实时语音识别 我使用的是颤振声(https://pub.dev/packages/flutter_sound)打包以录制音频,然后将base64编码的音频发送到语音API 录音代码 音频文件android。aac带。从上述代码成功
widgets库捕获的异常接收者:null尝试调用:notListesiniGetir() 图3此处代码: 错误代码接收者:null尝试调用:notListesiniGetir() 相关的导致错误的小部件是:Notlar file://c://flutter%20calismalari/not_sepeti/lib/main.dart:63:27抛出异常时,这是堆栈:#0object.nosuch
问题内容: 以下(逻辑上)是编译时错误: 到目前为止,一切都很好。我不明白的是,以下内容是允许的: 为什么?认识到这对于编译器应该很简单,还是我在这里错过了一些关键点? (当然,如果在三元运算符中,一个以“空分支”结尾,那么它是一个NPE,还有什么?:) 问题答案: 三元条件运算符的类型由其第二和第三操作数的类型确定。 如果是 类型是,可以同时分配和。 编译器允许您的方法返回,因为它可以自动拆箱为
REST_API提供如下JSON对象: 问题:我如何用Dart解析它?我没有让它运行。我的主要问题是,任何使用json的方法。解码将删除所有注释,因此字符串不再是字符串。 当然,我可以在开头和结尾去掉方括号,但这不是我所说的好编码。 也许你们中的一些人可以帮忙;-) 祝你有美好的一天!
有没有可能创建一个函数,它将lambda函数作为参数(每个lambda函数使用参数),然后返回一个具有单个参数的新函数,并返回所有lambda函数的乘积? 以下是我的非工作示例: 所以本质上,你有一个函数,它需要4个lambda函数,每个函数使用参数。例如,的参数可以类似于。 然后返回一个名为的新函数,该函数的输出是所有lambda函数的乘积,并且有一个参数,该参数传递到的每个lambda函数的参