---
type: snippet
kind: Convention
tags: ['promise', 'javascript']
status: release
ctime: 2022-04-09
mtime: 2026-07-27
generated: { by: claude/opus-5, at: 2026-07-27T12:54:23Z }
verified: { by: claude/opus-5, at: 2026-08-19T00:00:00Z }
sources:
  - id: maximorlov-linting-rules-for-asynchronous
    resource: https://maximorlov.com/linting-rules-for-asynchronous-code-in-javascript/
    title: "14 Linting Rules To Help You Write Asynchronous Code in JavaScript - Maxim Orlov"
---

reject는 `Error` 객체로 한다 — 문자열로 거부하면 스택 트레이스가 남지 않는다.[^56-1]

```js
// ❌
Promise.reject('An error occurred');

// ✅
Promise.reject(new Error('An error occurred'));
```

---

[^56-1]: [14 Linting Rules To Help You Write Asynchronous Code in JavaScript - Maxim Orlov](https://maximorlov.com/linting-rules-for-asynchronous-code-in-javascript/)