Я не уверен, как вы хотели бы реализовать код в своей песочнице, но я думаю, что для вызова и асинхронной задачи внутри эффекта вы можете сделать это следующим образом:
useEffect(() => {
const timeout = async (msg, time) => {
await setTimeout(() => {
console.log(msg);
}, time);
}
timeout("subscribed to websocket", 2000);
return () => {
timeout("unsubscribed to websocket", 3000);
};
}, [match]);
Чтобы использовать async
await
в useEffect
вам нужно объявить его внутри функции и вызвать его оттуда.