// 不在 or_insert_with 中执行异步初始化let entry = map.entry(key).or_insert_with(|| {// 只创建初始状态
ValueState::Initializing(tx)
tokio::spawn(async move {// 这里可以安全地执行异步操作match init_fut.await {Ok(value) => {let _ = tx.send(value.clone()); // 先发送值
inner.insert(key, ValueState::Ready(value)); // 再更新状态
inner.remove(&key);drop(tx); // 通知错误