QIviPendingReplyBase 类

QIviPendingReplyBase 是 QIviPendingReply 的基类。 更多...

头文件 #include <QIviPendingReplyBase>
qmakeQT += ivicore
继承自

QIviPendingReply

属性

  • value : const QVariant
  • watcher : QIviPendingReplyWatcher* const

公开函数

boolisResultAvailable() const
boolisSuccessful() const
boolisValid() const
voidsetFailed()
voidsetSuccess(const QVariant &value)
voidthen(const QJSValue &success, const QJSValue &failed = QJSValue())
QVariantvalue() const
QIviPendingReplyWatcher *watcher() const

详细信息

QIviPendingReplyBase 是 QIviPendingReply 的基类,并提供了 QVariant 基于的函数和属性以供 QML 使用。

通常您不需要使用此类,而是始终使用类型安全的 QIviPendingReply 模板类。

属性文档

resultAvailable : const bool

包含一个结果是否已设置

此属性在通过使用 setSuccess() 或 setFailed() 设置了一个结果后为 true

访问函数

boolisResultAvailable() const

success : const bool

包含回复是否成功

如果通过调用 setSuccess() 设置了有效的结果,则此属性为 true

访问函数

boolisSuccessful() const

valid : const bool

包含 QIviPendingReplyBase 是否有效

如果 QIviPendingReplyBase 是通过不使用模板类 QIviPendingReply 手动创建的,一个观察者可能是无效的。

访问函数

boolisValid() const

value : const QVariant

存储QIviPendingReply的当前值。

如果还没有可用的结果或者回复失败,将返回一个默认构造的QVariant()。否则返回一个持有结果的QVariant。

访问函数

QVariantvalue() 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.在芬兰和其他国家/地区的商标。所有其他商标均为各自所有者的财产。