Top / example / 非同期処理にコールバックを設定する
/
非同期処理にコールバックを設定する

目次

概要

非同期処理にコールバックを設定する

// スクリプトのロード
Scripts.execStorage("ktl/Network.tjs");
Scripts.execStorage("ktl/LocalFiles.tjs");
Scripts.execStorage("ktl/Bind.tjs");

var down = new Downloader();

// 「ダウンロードが失敗したとき残ったファイルを削除する」コールバックを設定する
// bind は、メソッドに引数を束縛する機能
down.onFinished = bind(
   function(downloader) {
       if (downloader.failed) {
           Debug.message("info: ダウンロードが失敗またはキャンセルされました");
           if (LocalFiles.exists(downloader.storageLocalName)) {
               Debug.message("info: ダウンロード途中のファイルを削除します");
               LocalFiles.remove(downloader.storageLocalName);
           }
       }
       } incontextof global,
   down
   );

// 大きなファイルを非同期ダウンロード
down.asyncDownloadHTTP("http://www.boleros.x0.com/data/plugin.zip", "plugin.zip");

// 1000ms でタイムアウト(途中でタイムアウトになるように)
down.asyncWaitTimeoutFromNow(1000);