【发布时间】:2021-07-15 18:10:42
【问题描述】:
问题
在我的 JavaScript 项目中,我尝试从客户端调用 firebase 函数。 我目前的问题是,无论我在初始化函数时是否设置了一个区域,调用的 URL(来自 firebase 函数)总是以相同的区域开头。
我的代码
functions.js(Firebase 函数 - 服务器)
exports.recursiveDelete = functions.region('europe-west1')
.runWith({
timeoutSeconds: 540,
memory: '2GB'
})
.https.onCall(async (data, context) => {
// Doing smth.
});
删除.js(客户端)
const app = firebase.app();
const functions_delete = app.functions("europe-west1");
function deleteArtWork(path, pid) {
var deleteFn = functions_delete.httpsCallable('recursiveDelete');
deleteFn({ path: path, pid: pid }).then(function(result) {
logMessage('Delete success: ' + JSON.stringify(result));
window.location.href = "../";
}).catch(function(err) {
logMessage('Delete failed, see console,');
console.warn(err);
});
}
Firebase 本身已正确初始化,因为 Firestore 和 Auth 没有问题。
输出
[Error] Preflight response is not successful
[Error] Fetch API cannot load https://us-central1-projectart-jjl.cloudfunctions.net/recursiveDelete due to access control checks.
[Error] Failed to load resource: Preflight response is not successful (recursiveDelete, line 0)
[Error] Unhandled Promise Rejection: ReferenceError: Can't find variable: logMessage
为什么 Firebase 函数总是试图调用 us-central1 函数?
我是不是做错了什么?
感谢您的帮助。
【问题讨论】:
标签: javascript firebase google-cloud-functions