Я только что установил облачную функцию, запускаемую топиком sub / pub c. Функция запускает облачную функцию, запускаемую HTTP, ну, ну, в общем, делая запрос GET. Все работает хорошо, единственное, что не совсем совпадает, - это предупреждающее сообщение
Function returned undefined, expected Promise or value
Я должен признать, что я не так бегло говорю в обещаниях, как должен, и это может быть причина ошибки. Вот код узла.
exports.triggerClearHidden = functions.runWith(global.runtimeOptions).pubsub.topic('trig').onPublish((message) => {
// const pubsubMessage = message.data;
// console.log(Buffer.from(pubsubMessage, 'base64').toString());
let urlstr = functions.config().rain.projecturl + "/clearHidden";
httpGetAsync(urlstr, (txt => console.log(txt)));
});
function httpGetAsync(theUrl, callback)
{
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState === 4 && xmlHttp.status === 200){
return callback(xmlHttp.responseText);
} else {
return callback("the ready state is " + xmlHttp.readyState + " and the status is " + xmlHttp.status);
}
}
xmlHttp.open("GET", theUrl, true); // true for asynchronous
xmlHttp.send(null);
}