| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
| [[TypeScript]]| [[Node.js]] | [[Angular]] | [[Google Cloud Platform]] |
{{amazon|4873119049}}
==Web Worker(ブラウザ)==
*[https://www.typea.info/blog/index.php/2020/07/23/typescript_node_environment/ TypeScriptをブラウザで実行する環境を準備]
===コード===
*scripts/browser_main_thread.ts
let worker = new Worker("/scripts/browser_worker.js");
}
worker.postMessage("message to worker!");
*scripts/browser_worker.ts
onmessage = e => {
console.log(`RECEIVE MESSAGE FROM MAIN : ${e.data}`);
</body>
</html>
 
===実行===
[[File:typescript_multithred.png|400px]]
 
==子プロセス(Node.js)==
*ブラウザでのWeb Workerと同じ方法で動作
===コード===
*node_main_thread.ts
import {fork} from 'child_process';
let child = fork('./public/scripts/node_child_process.js');
child.on('message', data => {
console.log('receive child message: ', data);
});
child.send({message:"PARENT MESSAGE"});
 
*node_child_process.ts
process.on('message', data => {
console.log('receive parent process message : ', data);
});
if (process.send) {
process.send({message:"CHILD MESSAGE"});
}
 
===実行===
$ node public/scripts/node_main_thread.js
receive parent process message : { message: 'PARENT MESSAGE' }
receive child message: { message: 'CHILD MESSAGE' }

案内メニュー