---
title: 协程
slug: world-sdk-guide-ch/K152tkQVIbVqppT51aDKU
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

协程是一个非抢占式的多任务程序组件，通过暂停执行然后继续从中断的地方继续工作。它主要用于执行异步操作、异常、事件循环、迭代器、无限列表和管道等功能。

点击这里了解更多关于Unity的协程。

:::hint{type="info"}
**📘 协程**

[https://docs.unity3d.com/kr/current/Manual/Coroutines.html](https://docs.unity3d.com/kr/current/Manual/Coroutines.html)
:::



ZEPETOScript实现Unity协程如下。

```javascript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { WaitForSeconds } from 'UnityEngine';

export default class Coroutine extends ZepetoScriptBehaviour {
    
    private current: number;
    
    Start() {
        this.current = 0;
        console.log(`开始例程`);
        this.StartCoroutine(this.DoRoutine());
    }

    *DoRoutine() {
        while(true) {
            yield null;
            console.log(`[${this.current++}] 等待下一个例程..`);
            yield new WaitForSeconds(1);
        }
    }
}
```

请查看下面的测试代码输出屏幕。

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-yagc5tebV4H6DBE7pWuAA-20240904-102426.png)

