add return value with async result

This commit is contained in:
王劲鹏
2021-05-25 10:45:45 +08:00
committed by osborn
parent 37f8898eac
commit da73ee5347
13 changed files with 95 additions and 94 deletions

View File

@@ -72,8 +72,8 @@ void V8Executor::injectGlobalJSFunction(QString name, QObject *function,
injectFunctions(nullptr, name.toUtf8().constData(), true);
}
void V8Executor::invokeObject(QString objectName, QString functionName,
QVariantList arguments) {
QString V8Executor::invokeObject(QString objectName, QString functionName,
QVariantList arguments) {
std::string exception;
v8::HandleScope handleScope(m_isolate);
int valueSize = arguments.size();
@@ -86,6 +86,9 @@ void V8Executor::invokeObject(QString objectName, QString functionName,
functionName.toUtf8().constData(),
valueSize, js_values, &exception);
delete[] js_values;
std::string result = JS2String(value);
return QString::fromUtf8(result.c_str());
}
// private segment

View File

@@ -45,8 +45,8 @@ public:
void injectGlobalJSFunction(QString name, QObject *function,
QString property);
void invokeObject(QString objectName, QString functionName,
QVariantList arguments);
QString invokeObject(QString objectName, QString functionName,
QVariantList arguments);
};
#endif // V8EXECUTOR_H