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

@@ -5,31 +5,29 @@
#include "DoricExport.h"
#include "DoricCallback.h"
#include "DoricSettableFuture.h"
static QJSValue EMPTY(QJSValue::NullValue);
static QString EMPTY("");
class DORIC_EXPORT DoricAsyncResult {
private:
QJSValue result = EMPTY;
DoricCallback *callback;
QString result = EMPTY;
public:
std::function<void()> resultCallback;
std::function<void()> exceptionCallback;
std::function<void()> finishCallback;
DoricAsyncResult();
DoricAsyncResult(QJSValue result);
void setResult(QString result);
void setResult(QJSValue result);
void setError(QJSValue exception);
void setError(QString exception);
bool hasResult();
QJSValue getResult();
void setCallback(DoricCallback *callback);
DoricSettableFuture *synchronous();
};