> For the complete documentation index, see [llms.txt](https://3440217568.gitbook.io/rxswift/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://3440217568.gitbook.io/rxswift/decision_tree/takewhile.md).

# takeWhile

**镜像一个 `Observable` 直到某个元素的判定为 false**

![](/files/-MWlwQOAs8emKGpgw4AP)

**takeWhile** 操作符将镜像源 `Observable` 直到某个元素的判定为 **false**。此时，这个镜像的 `Observable` 将立即终止。

## 演示

```swift
let disposeBag = DisposeBag()

Observable.of(1, 2, 3, 4, 3, 2, 1)
    .takeWhile { $0 < 4 }
    .subscribe(onNext: { print($0) })
    .disposed(by: disposeBag)
```

**输出结果：**

```swift
1
2
3
```
