Javascript 如何将数据从angular传递到我的云函数并得到响应?
目前,我尝试将数据从角度前端传递到云函数,并希望接收布尔值,如果该过程成功,该值将变为真 my index.ts文件:Javascript 如何将数据从angular传递到我的云函数并得到响应?,javascript,firebase,google-cloud-functions,angularfire2,Javascript,Firebase,Google Cloud Functions,Angularfire2,目前,我尝试将数据从角度前端传递到云函数,并希望接收布尔值,如果该过程成功,该值将变为真 my index.ts文件: export const someTesting = functions.https.onCall(async (data) => { let success = false; const testData = {...data}; await admin.firestore().collection('collection').add(testData)
export const someTesting = functions.https.onCall(async (data) => {
let success = false;
const testData = {...data};
await admin.firestore().collection('collection').add(testData).then(() => {
return success = true;
});
});
我的angular.ts文件
async callCloudFunction(testData: TestData) {
const sendDataToCloudFunctions = this.fun.httpsCallable('someTesting');
// here I pass the data to the cloud function
sendDataToCloudFunctions(testData);
// here I want to consolte.log() the boolean success ...
}
如果有人能告诉我怎么做就好了。谢谢大家! 需要返回与要发送到客户端的数据对象解析的承诺。现在,函数没有返回任何内容。您拥有的一条return语句只是从您传递给然后
的回调函数返回
您也不应该将异步/等待语法与then混合使用。只要使用其中一个,因为它们有相同的目的
如果您只想在数据库操作完成后返回布尔成功状态,请执行以下操作:
export const someTesting = functions.https.onCall(async (data) => {
let success = false;
const testData = {...data};
await admin.firestore().collection('collection').add(testData);
return { success: true };
});
要在应用程序中获得结果,您需要像处理任何其他承诺一样处理由sendDataToCloudFunctions
返回的承诺