JavaScript自定义延时函数delay的实现方法

ChatGPT4o 使用 ChatGPT 4o 回答

问题:

使用js写一个可以延时的自定义函数delay

回答:

当然!在JavaScript中,你可以使用Promise来创建一个延时函数。以下是一个名为delay的自定义函数,它接受一个参数ms,表示延迟的毫秒数:

function delay(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

// 使用示例
delay(2000).then(() => {
    console.log('延迟了2秒');
});

在这个示例中,delay函数返回一个Promise,该Promise在指定的毫秒数后解决(resolve)。你可以使用.then()方法来处理延迟完成后的操作。

如果你想在async函数中使用这个延时函数,可以这样做:

async function example() {
    console.log('开始延迟');
    await delay(2000);
    console.log('延迟了2秒');
}

example();

在这个示例中,await关键字使得example函数在delay(2000)完成之前暂停执行。