У меня есть функция postData (String data), которая асинхронно отправляет HTTPS POST-запрос, используя curl со стороны Linux:
void postData(String data) {
Process p;
p.runShellCommandAsynchronously("curl -X POST -H x-api-key:" + apiKey + " -H content-type:application/json -m 10 -s -o /dev/null -d '" + data + "' " + WEB_SERVICE_URL);
}
Запрос никогда не поступает на целевой сервер, когда я вызываю функцию из основного цикла следующим образом:
void loop() {
postData("...");
}
но это работает, когда я вызываю код функции прямо из основного цикла:
void loop() {
Process p;
p.runShellCommandAsynchronously("curl -X POST -H x-api-key:" + apiKey + " -H content-type:application/json -m 10 -s -o /dev/null -d '" + data + "' " + WEB_SERVICE_URL);
}
Может кто-нибудь объяснить мне, почему это так? Я бы предпочел, чтобы у меня был код в функции.