network.cancel()

类型 函数
network.*
返回值
修订版 发行版 2024.3703
关键字 异步、http、https、get、post
另请参阅 network.request()
network.download()
networkRequest

概述

取消使用 network.request()network.upload()network.download() 发出的未决网络请求。

语法

network.cancel( requestId )
requestId (必需)

用户数据network.request()network.upload()network.download() 提供的请求句柄。此句柄由这些函数中的每一个返回,并还在 networkRequest 事件中提供。

示例

根据用户输入取消请求
local function networkListener( event )

    if ( event.isError ) then
        print( "Network error: ", event.response )
    else
        print( "Request complete" )
    end
end
 
-- Start the request:
local requestId = network.request( "https://encrypted.google.com", "GET", networkListener )

-- Create a cancel button that can cancel the request:
local cancelButton = display.newImage( "cancelButton.png" )

function cancelButton:tap( event )
    print( "Canceling request via cancel button" )
    network.cancel( requestId )
end

cancelButton:addEventListener( "tap", cancelButton )
在进度侦听器中取消请求
-- The following sample code starts an image download and, in the initial progress
-- notification, determines whether or not to continue based on the file's size.

local function networkListener( event )

    if ( event.isError ) then
        print( "Network error: ", event.response )
    elseif ( event.phase == "began" ) and ( event.bytesEstimated > 80000 ) then
        print( "Canceling request, file is too big!" )
        network.cancel( event.requestId )
    end
end

-- Start the image download
network.download(
    "https://plugins.solar2d.com/images/logo-banner.png",
    "GET",
    networkListener,
    { progress = true },
    "bannerCopy.png",
    system.TemporaryDirectory )