fork 和 takeEvery
takeEvery 的作用是每次put 动作执行的的时候 都去调用worker
以下代码可以直接在浏览器运行,执行步骤在代码中做了注释
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<button id="test">
Clickme
</button>
<div id="result">
</div>
<script>
const $btn = document.querySelector('#test');
const $result = document.querySelector('#result');
function channel() {
let taker;
function take(cb) {
taker = cb;
}
function put(input) {
if(taker){
const tempTaker = taker;
taker = null;