runBlocking() & launch()

Runs a new coroutine and blocks the current thread until its completion. This static function should not be used from a coroutine. It is designed to bridge regular blocking code to libraries that are written in suspending style, to be used in main functions and in tests.

CoroutineGen::runBlocking(
    CoroutineGen::launch(function() : void {
        $return = file_get_contents('http://www.weather.com.cn/data/cityinfo/101270101.html');
        var_dump($return);
    }),
    CoroutineGen::launch(function() : void {
        var_dump("END!");
    }),
    function() {
        var_dump("START!");
    },
    function() {
        var_dump("Hello World!");
    }
);

Output:

string(6) "START!"
string(12) "Hello World!"
string(10989) "<!DOCTYPE HTML>
<html>
<head> ...."

string(4) "END!"

Last updated