[英]When will QNetworkReply::error signal followed by a finished() signal?
For the signal: 对于信号:
QNetworkReply::error(QNetworkReply::NetworkError code)
Qt's documentation said: Qt的文档说:
This signal is emitted when the reply detects an error in processing.
当答复检测到处理错误时,将发出此信号。 The finished() signal will probably follow, indicating that the connection is over.
finish()信号可能会跟随,表明连接已结束。
To be specific, when will the finished() signal be emitted and when not? 具体来说,何时会发出finished()信号,何时不发出?
When will QNetworkReply::error signal followed by a finished() signal?
QNetworkReply :: error信号何时会出现Finished()信号? To be specific, when will the finished() signal be emitted and when not?
具体来说,何时会发出finished()信号,何时不发出?
Signal finished()
is emitted when request is finished either due to data transmission complete or an error during transmission. 由于数据传输完成或传输过程中的错误而在请求完成时发出信号
finished()
。 Signal error()
is happening right before finished()
in case of an error. 如果发生
error()
信号error()
恰好在finished()
之前发生。 In practice we can handle finished()
for both "error" and "transmission successful". 实际上,我们可以处理“错误”和“传输成功”的
finished()
。
To illustrate: 为了显示:
// connect 'finished' signal with consumer
connect(&s_networkAccessManager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(requestFinished(QNetworkReply*)));
void MyClass::requestFinished(QNetworkReply* pReply)
{
if ( pReply )
{
if (pReply->error() == QNetworkReply::NoError)
consumeData(pReply)
else
errorHandler(pReply->error(), pReply->errorString());
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.