调用函数 - C++ SDK
在此页面上
Atlas Device SDK 已弃用。 有关详细信息,请参阅弃用页面。
本页上的示例演示如何调用名为 concatenate
的 Atlas Function,该函数接受两个参数,将它们连接起来,然后返回结果:
// concatenate: concatenate two strings exports = function(a, b) { return a + b; };
按名称调用函数
重要
使用函数时,确保对客户端数据进行清理,以防止代码注入。
要执行 C++ SDK 中的函数,请对user
对象使用call_function()成员函数。 将函数名称作为string传递给第一个参数。 该函数接受两个参数,我们以参数的string数组的形式提供:
// Connect to an App Services App and authenticate a user auto appConfig = realm::App::configuration(); appConfig.app_id = APP_ID; auto app = realm::App(appConfig); auto user = app.login(realm::App::credentials::anonymous()).get(); auto sync_config = user.flexible_sync_configuration(); // If the function takes arguments, pass them as a string array. // Any quotes within the array must be escaped. auto argArray = "[\"john.smith\", \"@companyemail.com\"]"; // Call an App Services function as the logged-in user auto result = user.call_function("concatenate", argArray).get(); // Verify that the result has a value CHECK(result); auto functionResult = result.value(); // Prints "Calling the concatenate function returned // "john.smith@companyemail.com"." std::cout << "Calling the concatenate function returned " << functionResult << ".\n";
回调可以提供可选的字符串结果或可选的错误。 在上面的示例中,我们检查结果是否具有值。