javascript
-
자바스크립트 Shallow copy vs Deep copy개발/기타 개발 이야기 2024. 1. 27. 12:00
자바스크립트에서 기존에 존재하는 객체를 복사해서 새로운 무언가를 만들고 싶을 때가 있다. 하지만 그냥 새로운 변수를 선언해서 기존의 객체를 대입하면.. 새로운 변수를 변형했을 때 기존의 값까지 영향을 받아 상황에 따라 골치아파질 수 있다.. 이건 후술할 shallow copy가 된다. Shallow copy는 원본의 값을 '참조'하는 형태로 복사한다. 따라서 복사한 값의 형태가 바뀌면 그 원본의 값도 영향을 받는다. Deep copy는 원본의 값을 정말 그 값만 복사해오고, 원본과는 완전히 별개의 객체가 된다. 이를 수정하거나 해도 원본의 값은 영향을 전혀 받지 않는다. ex) //JavaScript 환경에서.. obj = {a: 1, b: 2}; new_obj = obj; new_obj.a = 3; c..
-
Promise.race()개발/오늘의 실패 2023. 11. 27. 19:01
문제상황 : 지금까지 대부분의 작업은 axios를 이용해서 fetching을 진행하였는데.. 새로 작성해야 하는 코드는 FileSystem.uploadAsync를 이용해서 fetching을 진행해야 했다. 하지만 이 부분에서 무한히 응답을 대기하고만 있는 상황이 발생했다. 원인을 추적해보니, FileSystem으로 작성한 코드부에서 Timeout error가 발생하지 않고 있었다. axios를 활용한 코드에서는 선임자가 Timeout error handling 코드를 이미 포함시켜놓았기에 갖다 쓰기만 하면 되었는데, FileSystem은 이러한 코드부가 없기에 내가 직접 Timeout Error를 구현해보고자 하였다. 구현방법 : 1. Promise를 이용해 응답을 요청한다. 2. 또 다른 Promis..