Функция вызываемого облака выполняется, когда она возвращает ответ вызывающему. Если вы не можете синхронно вернуть значение, вы должны вернуть обещание, которое решает со значением.
Ваш код не возвращает никакого ответа (ни значения, ни обещания), поэтому облачные функции не могут знать, когда это будет сделано. В этом случае он позволяет ему работать как можно дольше / настраиваться (по умолчанию 60 секунд).
Это должно быть намного ближе к тому, что вы хотите:
exports.confirmOrder = functions.https.onCall(async (data, context) => {
return new Promise((resolve,reject)=>{
return true;
}).then(()=>{
console.log("llllllllllllllllllllllllllllllllll");
resolve();
}).catch((err)=>{
console.log(err);
reject()
});
});
Обратите внимание, что new Promise()
совсем не идиоматичен в коде облачных функций, поскольку большинство библиотек / API, которые вы вызываете, уже возвращают обещания. Я предполагаю, что вы просто тестируете, как работают обещания, учитывая природу кода.