var http = use('http') var os = use('os') var downloader var download_complete = false function checkin() { if (download_complete) return send(downloader, {type:'status'}, e => { log.console("Status:", json.encode(e)) // Check if download is complete or error if (e.type === 'error' || (e.type === 'status_response' && e.status === 'idle')) { // Stop checking if no download in progress return } // Continue checking $_.delay(checkin, 0.5) }) } $_.start(e => { log.console(json.encode(e)) if (e.type === 'greet') { downloader = e.actor // Start download send(downloader, { type:'download', url: 'https://dictionary.ink/find?word=palm' }, e => { log.console("Download response:", json.encode(e)) download_complete = true if (e.type === 'complete') { log.console("Download complete! Size:", e.size, "bytes") } else if (e.type === 'error') { log.console("Download failed:", e.error) } }) // Start status checking after a small delay $_.delay(checkin, 0.01) } }, "examples/http_download_actor")