最終更新日 2025-03-07

HmPunyHttpServer 使い方②

使い方①は同期的な利用方法でした、非同期を混ぜてブロックが発生しないようにしましょう。

非同期を用いた例

この使い方の最大の利点は、結果を非同期的に受け取るため、ブロックが発生しないことです

使い方_非同期.mac
jsmode "JScript\\" + currentmacrofilename;

execjs macrodir + @"\HmPunyHttpServer\HmPunyHttpServer.js";

js{

var server; // 初期化しないこと。

if (server) {
    server.close();
}

server = createPunyHttpServer({rootFolder:"C:\\あいうえお"});
if (server) {
    server.startAsync(openBrowserPane);
}

function openBrowserPane(port) {
    if (!port) {
        console.log("サーバー構築に失敗");
        return;
    }

    var url = "http://localhost:" + port + "/index.html";

    browserpanecommand(
    {
        target: "_each",
        url: url,
        show: 1,
        size: 500,
        initialize: "async"
    });
}

} // js

このマクロを実行すると、C:\あいうえお がドキュメントルートになります。

そして、ブラウザが起動して、http://localhost:ポート番号/index.html が表示されます。