Error Domain=NSURLErrorDomain Code=-999

2019-01-15 14:47:24 浏览数 (1)

加载h5页面遇到这个问题导致加载很慢。

NS_ENUM(NSInteger)

{

    NSURLErrorUnknown = -1,

    NSURLErrorCancelled = -999,

    NSURLErrorBadURL = -1000,

    NSURLErrorTimedOut = -1001,

    NSURLErrorUnsupportedURL = -1002,

    NSURLErrorCannotFindHost = -1003,

    NSURLErrorCannotConnectToHost = -1004,

    NSURLErrorNetworkConnectionLost = -1005,

    NSURLErrorDNSLookupFailed = -1006,

    NSURLErrorHTTPTooManyRedirects = -1007,

    NSURLErrorResourceUnavailable = -1008,

    NSURLErrorNotConnectedToInternet = -1009,

    NSURLErrorRedirectToNonExistentLocation = -1010,

    NSURLErrorBadServerResponse = -1011,

    NSURLErrorUserCancelledAuthentication = -1012,

    NSURLErrorUserAuthenticationRequired = -1013,

    NSURLErrorZeroByteResource = -1014,

    NSURLErrorCannotDecodeRawData =             -1015,

    NSURLErrorCannotDecodeContentData =         -1016,

    NSURLErrorCannotParseResponse =             -1017,

    NSURLErrorAppTransportSecurityRequiresSecureConnection NS_ENUM_AVAILABLE(10_11, 9_0) = -1022,

    NSURLErrorFileDoesNotExist = -1100,

    NSURLErrorFileIsDirectory = -1101,

    NSURLErrorNoPermissionsToReadFile = -1102,

    NSURLErrorDataLengthExceedsMaximum NS_ENUM_AVAILABLE(10_5, 2_0) = -1103,

// SSL errors

    NSURLErrorSecureConnectionFailed = -1200,

    NSURLErrorServerCertificateHasBadDate = -1201,

    NSURLErrorServerCertificateUntrusted = -1202,

    NSURLErrorServerCertificateHasUnknownRoot = -1203,

    NSURLErrorServerCertificateNotYetValid = -1204,

    NSURLErrorClientCertificateRejected = -1205,

    NSURLErrorClientCertificateRequired = -1206,

    NSURLErrorCannotLoadFromNetwork = -2000,

// Download and file I/O errors

    NSURLErrorCannotCreateFile = -3000,

    NSURLErrorCannotOpenFile = -3001,

    NSURLErrorCannotCloseFile = -3002,

    NSURLErrorCannotWriteToFile = -3003,

    NSURLErrorCannotRemoveFile = -3004,

    NSURLErrorCannotMoveFile = -3005,

    NSURLErrorDownloadDecodingFailedMidStream = -3006,

    NSURLErrorDownloadDecodingFailedToComplete =-3007,

    NSURLErrorInternationalRoamingOff NS_ENUM_AVAILABLE(10_7, 3_0) =         -1018,

    NSURLErrorCallIsActive NS_ENUM_AVAILABLE(10_7, 3_0) =                    -1019,

    NSURLErrorDataNotAllowed NS_ENUM_AVAILABLE(10_7, 3_0) =                  -1020,

    NSURLErrorRequestBodyStreamExhausted NS_ENUM_AVAILABLE(10_7, 3_0) =      -1021,

    NSURLErrorBackgroundSessionRequiresSharedContainer NS_ENUM_AVAILABLE(10_10, 8_0) = -995,

    NSURLErrorBackgroundSessionInUseByAnotherProcess NS_ENUM_AVAILABLE(10_10, 8_0) = -996,

    NSURLErrorBackgroundSessionWasDisconnected NS_ENUM_AVAILABLE(10_10, 8_0)= -997,

};

根本原因

出现NSURLErrorDomain Code=-999的根本原因是什么呢?其实就是因为webview在之前的请求还没有加载完成,下一个请求发起了,此时webview会取消掉之前的请求,因此会回调到失败这里。

解决办法:

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {

    [activityInd stopAnimating];

// 如果是被取消,什么也不干

if([error code] == NSURLErrorCancelled)  {

return;

    }

ZYLog(@"didFailLoadWithError--%@---",error.debugDescription);

}

0 人点赞