shajara图解Future 结算
中文

Future 结算

wait 等待 future settlement

spawn(receiveSmsCode)settle smsCodewait(smsCode)verifyPhoneNumberpendingsmsCodereceiveSmsCodepending
function* verifyPhoneNumber() {
  const [smsCode, provideSmsCode] = yield* future<string>();

  yield* spawn(function* receiveSmsCode() {
    yield* sleep(1000);
    yield* settle(provideSmsCode, "4921");
  });

  return yield* wait(smsCode);
}
verifyPhoneNumber 等待 smsCode,直到另一个 process 结算它。
receiveSmsCode 用收到的验证码结算 smsCode。