首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Typescript睡眠

Typescript睡眠
EN

Stack Overflow用户
提问于 2016-06-11 22:07:11
回答 7查看 434.6K关注 0票数 200

我正在使用Typescript在Angular 2中开发一个网站,我想知道是否有实现thread.sleep(ms)功能的方法。

我的用例是在几秒钟后提交表单后重定向用户,这在html或javascript中很容易,但我不确定如何在Typescript中做到这一点。

非常感谢,

EN

回答 7

Stack Overflow用户

发布于 2016-06-11 22:17:16

这是可行的:(感谢评论)

代码语言:javascript
复制
setTimeout(() => 
{
    this.router.navigate(['/']);
},
5000);
票数 132
EN

Stack Overflow用户

发布于 2018-06-11 20:09:32

由于某些原因,上述公认的答案在新版本的Angular (V6)中不起作用。

为此,请使用以下代码..

代码语言:javascript
复制
async delay(ms: number) {
    await new Promise(resolve => setTimeout(()=>resolve(), ms)).then(()=>console.log("fired"));
}

上面的方法对我很有效。

用法:

代码语言:javascript
复制
this.delay(3000);

或者更准确的方式

代码语言:javascript
复制
this.delay(3000).then(any=>{
     //your task after delay.
});
票数 33
EN

Stack Overflow用户

发布于 2018-10-31 19:24:33

使用RxJS

代码语言:javascript
复制
import { timer } from 'rxjs';

// ...

timer(your_delay_in_ms).subscribe(x => { your_action_code_here })

x为0。

如果您向timer提供第二个参数period,则每隔period毫秒将发出一个新数字(x =0则x= 1,x= 2,...)。

有关更多详细信息,请参阅official doc

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37764665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档