Pull to refresh
-3
0
Send message

Кажется, что это не выглядит заменой try/catch, т.к. объем кода и читаемость ухудшается, если применять влоб. Но если миксовать подходы, то кажется удобно использовать в кейсе, когда в try/catch блоке мы какой-то шаг хотим обработать так, чтобы не вываливаться при ошибке в общий catch:

// Традиционный подход
try {
  const response = await fetch("https://api.example.com/data");
  const json = await response.json();
  let data, dummyData;
  try {
    const data = parseData(json);
  }
  catch(error) {
    dummyData = {test: 123}
  }
  doSmthWithData(data || dummyData);
} catch (error) {
  handleError(error);
}

// С использованием ?=
try {
  const response = await fetch("https://api.example.com/data");
  const json = await response.json();
  const dummyData = {test: 123}
  const [error, data] ?= parseData(json);
  doSmthWithData(data || dummyData);
} catch (error) {
  handleError(error);
}

Information

Rating
5,415-th
Registered
Activity