Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将数据从angular传递到我的云函数并得到响应?_Javascript_Firebase_Google Cloud Functions_Angularfire2 - Fatal编程技术网

Javascript 如何将数据从angular传递到我的云函数并得到响应?

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)

目前,我尝试将数据从角度前端传递到云函数,并希望接收布尔值,如果该过程成功,该值将变为真

my index.ts文件:

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
返回的承诺