package com.glassthought.sandboximport gt.sandbox.util.output.Outimport kotlinx.coroutines.*val out = Out.standard()fun main() = runBlocking { // If you call suspend functions without async, then the first one will // need to finish. Before the second one starts. val resultOne = fetchDataOne() val resultTwo = fetchDataTwo() out.println("Combined result: ${resultOne + resultTwo}")}// Simulated data fetch functionsuspend fun fetchDataOne(): Int { delay(1000) // Simulate a network or heavy computation delay out.println("Fetched data one") return 10}// Another simulated data fetch functionsuspend fun fetchDataTwo(): Int { delay(1500) // Simulate a network or heavy computation delay out.println("Fetched data two") return 20}
Command to reproduce:
gt.sandbox.checkout.commit 62f135ba00ec4f7e3094 \&& cd "${GT_SANDBOX_REPO}" \&& cmd.run.announce "./gradlew run"