QIviPendingReplyBase 类
QIviPendingReplyBase 是 QIviPendingReply 的基类。 更多...
头文件 | #include <QIviPendingReplyBase> |
qmake | QT += ivicore |
继承自 |
属性
|
公开函数
bool | isResultAvailable() const |
bool | isSuccessful() const |
bool | isValid() const |
void | setFailed() |
void | setSuccess(const QVariant &value) |
void | then(const QJSValue &success, const QJSValue &failed = QJSValue()) |
QVariant | value() const |
QIviPendingReplyWatcher * | watcher() const |
详细信息
QIviPendingReplyBase 是 QIviPendingReply 的基类,并提供了 QVariant 基于的函数和属性以供 QML 使用。
通常您不需要使用此类,而是始终使用类型安全的 QIviPendingReply 模板类。
属性文档
resultAvailable : const bool
包含一个结果是否已设置
此属性在通过使用 setSuccess() 或 setFailed() 设置了一个结果后为 true
。
访问函数
bool | isResultAvailable() const |
success : const bool
包含回复是否成功
如果通过调用 setSuccess() 设置了有效的结果,则此属性为 true
。
访问函数
bool | isSuccessful() const |
valid : const bool
包含 QIviPendingReplyBase 是否有效
如果 QIviPendingReplyBase 是通过不使用模板类 QIviPendingReply 手动创建的,一个观察者可能是无效的。
访问函数
bool | isValid() const |
value : const QVariant
存储QIviPendingReply的当前值。
如果还没有可用的结果或者回复失败,将返回一个默认构造的QVariant()。否则返回一个持有结果的QVariant。
访问函数
QVariant | value() const |
watcher : QIviPendingReplyWatcher* const
存储QIviPendingReply的观察者。
注意:返回的QIviPendingReplyWatcher归QIviPendingReply所有,并且所有它的副本也都拥有。如果所有的QIviPendingReply副本都被删除,它的QIviPendingReplyWatcher也会被删除。
访问函数
QIviPendingReplyWatcher * | watcher() const |
成员函数文档
void QIviPendingReplyBase::setFailed()
将回复标记为失败。
注意:结果只能设置一次,之后无法更改。
注意:此函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE。
另请参阅:setSuccess。
void QIviPendingReplyBase::setSuccess(const QVariant &value)
将回复的结果设置为value并标记回复已成功。
给定值需要与回复类型相同,或者能够转换为此类型。
注意:结果只能设置一次,之后无法更改。
注意:此函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE。
另请参阅:setFailed。
void QIviPendingReplyBase::then(const QJSValue &success, const QJSValue &failed = QJSValue())
设置在结果传递后要调用的JavaScript回调。如果回复成功,调用success回调,否则调用failed回调。
success回调可以接受回复值作为参数。
提供的值需要是可调用的并且由QJSEngine构建。传递由C++创建的QJSValue对象将导致错误。
调用此函数多次将覆盖现有的回调。
注意:此函数可以通过元对象系统从QML调用。请参阅Q_INVOKABLE。
©2020 The Qt Company Ltd. 嵌入本文件的文档贡献是由各自的版权所有者拥有。提供给您的文档按GNU自由文档许可协议版本1.3的条款进行许可,由自由软件基金会发布。Qt及其相应的标志是The Qt Company Ltd.在芬兰和其他国家/地区的商标。所有其他商标均为各自所有者的财产。