TOGOUTECH

javascript - clearinterval 在 ngOnDestroy() 内部不起作用

coder 2024-05-16 原文

我的 ngOndestroy 正在调用其他路由导航,但它没有在方法内部执行 clearInterval。我哪里做错了?当我在其他组件中时,它在后台运行。

timer:any;

ngOnInit() {
  this.timer= this.interval();
};

 ngOnDestroy(){
    clearInterval(this.timer);
   console.log("Inside Destroy");


 }

interval(){
  setInterval(()=>{
    this.getData();
  },20000)
}
 getData(){
   this.dataservice.getdata()
      .subscribe(users=>{
      this.datas=users;
      console.log(this.datas);
    })
 }

最佳答案

您忘记返回区间的实例。

interval(){
  return setInterval(()=>{
    this.getData();
  },20000)
}

关于javascript - clearinterval 在 ngOnDestroy() 内部不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47951254/

有关javascript - clearinterval 在 ngOnDestroy() 内部不起作用的更多相关文章

  1. c# - AsyncLocal<T> 在非异步/等待代码中有什么作用? - 2

    我正在处理一个非常大且旧的桌面winform应用程序代码库。在此代码库中,有很多操作在后台线程中执行,主要使用BackgroundWorker。.此代码库中的一个常见模式是通过将工件绑定(bind)到正在执行的线程来隐藏复杂性。例如,数据库连接和事务存储在[ThreadStatic]中字段。我正在尝试改变这一点,并开始使用async/await代码,并受益于在池的任何线程中运行任务,并通过使用ConfigureAwait(false)允许任务在任何其他线程中继续执行.我知道[ThreadStatic]不适合async/await,我在这里阅读了几个建议使用AsyncLocal<T

  2. c# - 中继器内部的用户控制 - 2

    我在转发器中有一个UserControl。中继器的数据源来自SQLServer。用户控件的.cs-MoviePanel.ascx.cs:publicintmyMovieID{get;set;}publicstringmyMovieName{get;set;}publicstringmyMovieDescription{get;set;}protectedvoidPage_Load(objectsender,EventArgse){MovieIDLbl.Text=myMovieID.ToString();MovieNameLbl.Text=myMovieName;DescriptionL

  3. c# - 为什么 Ajax.BeginForm 在 Chrome 中不起作用? - 2

    我正在使用c#.NETMVC2,我正在尝试创建一个调用删除数据库记录(RemoveRelation)方法的ajax表单。删除记录的过程按预期进行。删除记录后,表单应调用从视觉对象中删除记录的javascript函数(RemoveRelation(10))。这是通过AJAX调用完成的,在InternetExplorer9和Firefox4上都按预期工作但是在Chrome上由于某种原因更新没有通过AJAX调用发生,并且当删除记录的表单正在刷新时整个页面正在刷新已提交(这是不正确的,因为表单应该是使用AJAX功能生成的)。这是我用来生成表单的代码:<%using(Ajax.BeginF

  4. c# - 为什么重载不起作用? - 2

    为什么程序启动后会显示C::Foo(objecto)?usingSystem;namespaceProgram{classA{staticvoidMain(string[]args){vara=newC();intx=123;a.Foo(x);}}classB{publicvirtualvoidFoo(intx){Console.WriteLine("B::Foo");}}classC:B{publicoverridevoidFoo(intx){Console.WriteLine("C::Foo(intx)");}publicvoidFoo(object

  5. c# - C# 垃圾收集器如何找到唯一引用是内部指针的对象? - 2

    据我所知,在C#中,ref和out参数是通过仅传递相关值的原始地址来传递的。该地址可以是指向数组中元素或对象中字段的内部指针。如果发生垃圾回收,可能仅对某个对象的引用是通过这些内部指针之一进行的,如:usingSystem;publicclassFoo{publicintfield;publicstaticvoidIncrement(refintx){System.GC.Collect();x=x+1;Console.WriteLine(x);}publicstaticvoidMain(){Increment(refnewFoo().field);}}在那种情况下,GC需要找到对象的开

  6. c# - 在 Entity Framework 拦截器中向 DbScanExpression 添加内部连接 - 2

    我正在尝试使用EntityFrameworkCommandTree拦截器通过DbContext向每个查询添加过滤器。为简单起见,我有两个表,一个名为“User”,有两列(“UserId”和“EmailAddress”),另一个名为“TenantUser”,有两列(“UserId”和“TenantId”)。每次有User表的DbScan时,我想对TenantUser表进行内部连接并根据TenantId列进行过滤。有一个项目叫做EntityFramework.Filters它按照这些思路做了一些事情,但不支持“复杂连接”,这似乎是我正在尝试做的。正在关注ademofromTechEd201

  7. c# - 具有 JWT 身份验证的 RestSharp 不起作用 - 2

    这是我“学习”如何操作的页面:https://stormpath.com/blog/token-authentication-asp-net-core但对我来说这不起作用(也不适用于Fiddler)我的ApplicationUser模型有这个Controller:[Authorize]//workswhenit'snotset,doesn'tworkwhenit'sset[Route("api/[controller]")]publicclassApplicationUserController:Controller{privateIReposi

  8. C# if 语句。内部运作 Q - 2

    我刚刚在某些Exchange2010代码中看到了这个代码片段,我想知道是否有人知道为什么程序员会这样做。我从未见过这样格式的If语句。看起来如此倒退,一定有充分的理由吧??if(true==MsgItem.HasAttachments){//Code}我假设它可能对同一事物的各种其他编码方式进行了一些优化;if(MsgItem.HasAttachments){//Code}或if(MsgItem.HasAttachments==true){//Code}这没什么大不了的,我只是好奇。谢谢,迈克更新:感谢您提出的所有有趣的观点。总结似乎是因为遗留编码标准。 最

  9. c# - 用 LINQ 替换嵌套的 foreach;修改和更新内部深处的属性 - 2

    考虑更改5或6层深对象的一个​​或多个属性的数据成员的要求。有一些子集合需要迭代才能到达需要检查和修改的属性。在这里,我们调用了一个方法来清除员工的街道地址。由于我们在循环中更改数据,当前的实现需要一个for循环来防止异常:Cannotassignto"someVariable"becauseitisa'foreachiterationvariable'这是带有嵌套foreach和for的当前算法(混淆)。foreach(varempincompany.internalData.Emps){foreach(varaddrinemp.privateData

  10. c# - 区别()不起作用 - 2

    我有以下linq表达式:AgentsFilter=newBindableCollection<NameValueGuid>((fromfirstEntryinFirstEntriesselectnewNameValueGuid{Name=firstEntry.Agent,Value=firstEntry.AgentId}).Distinct());但是由于某些原因,AgentsFilter集合中充满了重复项。我的Distinct()有什么问题? 最佳答案 Distinct将使用NameValueGuid上的Equals方

随机推荐

  1. c# - 如何在 VS.NET 2015 中切换上下文? - 2

    我遇到了构建错误,因为我正在使用的某些类在“DNX4.5.1”而不是“DNXCore5.0”中可用。错误是:Thetypeornamespace'[someclass]'couldnotbefound.在“错误列表”窗口的项目栏中,我看到了DNXCore5.0。在上下文菜单中,选择了DNX4.5.1。为什么VS.NET在上下文为4.5.1时尝试继续使用DNXCore5.0? 最佳答案 如果有些人仍在为此苦苦挣扎,您可以通过从project.json文件的框架引用中删除它来取消引用DNXCore5.0。节"fr

  2. c# - 'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地机器(服务器)上注册 - 2

    我知道这个问题有很多答案和帖子,但对我来说没有任何用处。我有我的MVC5应用程序,我将它部署到IIS7.5到我的服务器。应用程序运行良好,一切正常,直到我使用ACE.OLEDB进入操作。我收到这个错误:[InvalidOperationException:The'Microsoft.ACE.OLEDB.12.0'providerisnotregisteredonthelocalmachine.]System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionStringconstr,DataSour

  3. c# - 如何在 C# 中搜索组合框的所有项目? - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:StackOverflowquestionchecklist关闭9年前。Improvethisquestion我有一个组合框,我想搜索其中的每个元素。我该怎么做?(而且项目的数量每次都不一样,但这不是那么重要)。我正在使用C#Windows窗体应用程序。

  4. c# - 如何在 wpf 中将 List<T> 转换为 ObservableCollection<T>? - 2

    我在wpf中,并且有一个通用列表:List。现在我希望将其转换为通用的可观察集合:ObservableCollection。我知道我可以遍历列表并将每个单独的项目添加到Observable集合中。但是,在我看来,必须有一种内置的方法来做到这一点。 最佳答案 如果您只想从List创建一个ObservableCollection,那么您需要做的就是ObservableCollection<MyType>obsCollection=newObservableCollection<MyType>(myList);

  5. c# - 以线程安全的方式添加到 Parallel.ForEach 循环中的列表 - 2

    我有一些代码在名为ListofObjects的obj对象列表上像这样工作:List<SomeObject>NewListofObjects<SomeObject>();Parallel.ForEach(ListofObjects,obj=>//DosomeoperationshereonobjtogetanewobjNewListofObjects.Add(newobj););现在我退出了Parallel.ForEach循环,我想对NewListofObjects进行操作。但是,当我尝试执行以下操作时出现此错误:“尝试读取或写入protected内存。这通

  6. c# - 找到的程序集的 list 定义与程序集引用不匹配。 (来自 HRESULT : 0x80131040) 的异常 - 2

    签署第三方程序集并将它们添加到GAC后,我收到以下错误:程序集Binder日志条目也显示thiserror它说不匹配的程序集不确定在我删除所有obj和bin折叠并批量构建应用程序+重新导入dll时会发生什么错误。Assemblymanagerloadedfrom:C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dllRunningunderexecutableC:\ProgramFiles(x86)\CommonFiles\MicrosoftShared\DevServer\11.0\WebDev.WebServer40.exe---

  7. c# - 更新后台 worker winforms中的标签文本 - 2

    我正在使用BackGroundWorker类在sqlserver中插入一些值。我在这里有for循环来插入值。我正在使用以下代码publicvoidbw_Convert_DoWork(objectsender,DoWorkEventArgse){e.Result=e.Argument;for(inti=0;i<fTable.Rows.Count;i++){try{SqlCommandcmd=newSqlCommand("INSERTINTOTBL_CDR_ANALYZER(LNG_UPLOAD_ID,DAT_START,LNG_DURATION,INT_DIRECTION,

  8. c# - 如何使用 EF 4.x DbContext 生成器获取属性更改通知 - 2

    我正在使用EntityFramework4.3,因此我使用DbContextGenerator来创建上下文和实体类。使用默认的EF4代码生成器模板,实体类实现INotifyPropertyChanged,并在属性setter中添加Changing和Changed分部方法。当我使用EF4.xDbContext生成器时,如下图所示,实体类要轻得多,并且不包括任何跟踪属性更改的方法。这是一个例子://------------------------------------------------------------------------------//<auto-generate

  9. c# - 在任务异常的情况下,根据用户输入多次重试任务 - 2

    我的应用程序中的所有服务调用都是作为任务实现的。当任务出现故障时,我需要向用户显示一个对话框以重试上次失败的操作。如果用户选择重试,程序应该重试该任务,否则程序的执行应该在记录异常后继续。任何人都对如何实现此功能有一个高层次的想法? 最佳答案 2017年5月更新C#6异常过滤器使catch子句更加简单:privatestaticasyncTask<T>Retry<T>(Func<T>func,intretryCount){while(true){try{varresult=awaitTask.Ru

  10. c# - 在 C# 中获取程序集描述的简化方法? - 2

    我在阅读一本.NET2.0的书时发现了这个获取应用程序程序集描述的示例代码:staticvoidMain(string[]args){Assemblyassembly=Assembly.GetExecutingAssembly();object[]attributes=assembly.GetCustomAttributes(typeof(AssemblyDescriptionAttribute),false);if(attributes.Length>0){AssemblyDescriptionAttributedescriptionAttribute=(AssemblyDes