在这篇文章中,我们将带领您了解mongoError:Topologywasdestroyed的全貌,同时,我们还将为您介绍有关Adnroid:values/strings.xml报错:"error:A
在这篇文章中,我们将带领您了解mongoError: Topology was destroyed的全貌,同时,我们还将为您介绍有关Adnroid:values/strings.xml报错:" error: Apostrophe not preceded by ..."、An error has occurred. See error log for more details. java.lang.NullPointer、Android片段生命周期onStop,onDestroyView,onDestroy和onDetach、angular – ViewDestroyedError:尝试使用已销毁的视图:detectChanges的知识,以帮助您更好地理解这个主题。
本文目录一览:- mongoError: Topology was destroyed
- Adnroid:values/strings.xml报错:" error: Apostrophe not preceded by ..."
- An error has occurred. See error log for more details. java.lang.NullPointer
- Android片段生命周期onStop,onDestroyView,onDestroy和onDetach
- angular – ViewDestroyedError:尝试使用已销毁的视图:detectChanges
mongoError: Topology was destroyed
我有一个在 node.js 中构建的 REST 服务,带有 Restify 和 Mongoose,还有一个 mongoDB,它的集合包含大约 30.000
个常规大小的文档。我的节点服务通过 pmx 和 pm2 运行。
昨天,突然,节点开始用消息“MongoError:拓扑被破坏”来解决错误,仅此而已。我不知道这是什么意思,什么可能触发了这个。谷歌搜索时也找不到太多东西。所以我想我会在这里问。
今天重新启动节点服务后,错误停止出现。我也有一个在生产中运行,这让我害怕,这可能在任何给定时间发生在运行在那里的设置的一个非常关键的部分......
我正在使用上述软件包的以下版本:
mongoose: 4.0.3
restify: 3.0.3
node: 0.10.25
答案1
小编典典这似乎意味着您的节点服务器与 MongoDB 实例的连接在尝试写入时被中断。
查看生成该错误的 Mongo 源代码
Mongos.prototype.insert = function(ns, ops, options, callback) { if(typeof options == ''function'') callback = options, options = {}; if(this.s.state == DESTROYED) return callback(new MongoError(f(''topology was destroyed''))); // Topology is not connected, save the call in the provided store to be // Executed at some point when the handler deems it''s reconnected if(!this.isConnected() && this.s.disconnectHandler != null) { callback = bindToCurrentDomain(callback); return this.s.disconnectHandler.add(''insert'', ns, ops, options, callback); } executeWriteOperation(this.s, ''insert'', ns, ops, options, callback);}
这似乎与评论中引用的 Sails 问题无关,因为没有安装升级来引发崩溃或“修复”
Adnroid:values/strings.xml报错:" error: Apostrophe not preceded by ..."
报错描述
如题的报错一般出现在非中文环境下,即字符串是非中文的,但是字符串中包含了单引号
'
这个字符,可是却没有使用转义字符将它转义,所以报错:"error: Apostrophe not preceded by \"(撇号没有被"\"转义)
解决办法
比如报错是这句话:
<!-- xiong_it 是只好猿 --> <string name="description_xiong_it">xiong_it's a good programmers.</string>
将它改为:
<string name="description_xiong_it">xiong_it\'s a good programmers.</string>
即可解决报错
查看原文:http://blog.techxiong.cn/2015/10/strings_xml_error/
An error has occurred. See error log for more details. java.lang.NullPointer
右键项目 -> run as -> maven clean
Android片段生命周期onStop,onDestroyView,onDestroy和onDetach
解决方法
当通过xml布局添加片段时,大多数这些回调被同时调用(在确切之前或之后)调用来自Activity的相应回调.
请注意,在较新版本的Android onStop上也始终会调用.
Android documentation talks about onStop an onDestroy Couldn’t be called in some circustances
只是说清楚:“一些喧嚣”意味着你的应用程序进程被用户或系统杀死(通常在内存不足或应用程序在后台运行较长时间).
angular – ViewDestroyedError:尝试使用已销毁的视图:detectChanges
export class SideNavsComponent implements OnInit,AfterViewInit,OnDestroy { eventdispatcher: Eventdispatcher authEmailDialogRef: mddialogRef<AuthEmailDialogComponent> constructor(public dialog: mddialog,) { this.eventdispatcher = new Eventdispatcher() } signIn( event ): void { this.isSignedIn = event.checked this.openDialog() } openDialog() { this.authEmailDialogRef = this.dialog.open( AuthEmailDialogComponent,{ height: '500px',width: '300px',disableClose: true } ) } ngOnDestroy() { } ngAfterViewInit() { } ngOnInit() { event_dispatcher.on( 'CLOSE authEmailDialogRef',( target: Object ) => { this.authEmailDialogRef.close() } ) } }
下面的组件创建一个按钮,单击该按钮时,通过发送和在SideNavsComponent#ngOnInit方法中截获的事件来关闭上面创建的mddialog
export class AuthEmailDialogComponent implements OnInit { eventdispatcher: Eventdispatcher = new Eventdispatcher() } cancel() { event_dispatcher.dispatch( 'CLOSE authEmailDialogRef','') } }
mddialog是关闭的(),但总是会发生以下检测更改错误:
ERROR Error: ViewDestroyedError: Attempt to use a destroyed view: detectChanges at viewDestroyedError (core.es5.js:8636) at Object.debugUpdateDirectives [as updateDirectives] (core.es5.js:12781) at checkAndUpdateView (core.es5.js:12122) at callWithDebugContext (core.es5.js:13184) at Object.debugCheckAndUpdateView [as checkAndUpdateView] (core.es5.js:12724) at ViewRef_.detectChanges (core.es5.js:10196) at asterisk.component.ts:37 at ZoneDelegate.webpackJsonp.1467.ZoneDelegate.invokeTask (zone.js:414) at Object.onInvokeTask (core.es5.js:4119) at ZoneDelegate.webpackJsonp.1467.ZoneDelegate.invokeTask (zone.js:413) View_mddialogContainer_Host_0 @ mddialogContainer_Host.html:1 proxyClass @ compiler.es5.js:14091 DebugContext_.logError @ core.es5.js:13124 ErrorHandler.handleError @ core.es5.js:1144 next @ core.es5.js:4757 schedulerFn @ core.es5.js:3830 SafeSubscriber.__tryOrUnsub @ Subscriber.js:236 SafeSubscriber.next @ Subscriber.js:185 Subscriber._next @ Subscriber.js:125 Subscriber.next @ Subscriber.js:89 Subject.next @ Subject.js:55 EventEmitter.emit @ core.es5.js:3816 ngzone.triggerError @ core.es5.js:4188 onHandleError @ core.es5.js:4149 webpackJsonp.1467.ZoneDelegate.handleError @ zone.js:385 webpackJsonp.1467.Zone.runTask @ zone.js:184 ZoneTask.invoke @ zone.js:476 timer @ zone.js:1491 setInterval (async) scheduleTask @ zone.js:1501 webpackJsonp.1467.ZoneDelegate.scheduleTask @ zone.js:400 onScheduleTask @ zone.js:290 webpackJsonp.1467.ZoneDelegate.scheduleTask @ zone.js:394 webpackJsonp.1467.Zone.scheduleTask @ zone.js:225 webpackJsonp.1467.Zone.scheduleMacroTask @ zone.js:248 (anonymous) @ zone.js:1527 proto.(anonymous function) @ zone.js:1402 AsteriskComponent @ asterisk.component.ts:37 createClass @ core.es5.js:10870 createDirectiveInstance @ core.es5.js:10701 createViewNodes @ core.es5.js:12064 callViewAction @ core.es5.js:12508 execComponentViewsAction @ core.es5.js:12417 createViewNodes @ core.es5.js:12091 createRootView @ core.es5.js:11969 callWithDebugContext @ core.es5.js:13184 debugCreateRootView @ core.es5.js:12644 ComponentFactory_.create @ core.es5.js:9890 ComponentFactoryBoundToModule.create @ core.es5.js:3427 ViewContainerRef_.createComponent @ core.es5.js:10092 PortalHostDirective.attachComponentPortal @ material.es5.js:2135 mddialogContainer.attachComponentPortal @ material.es5.js:19218 mddialog._attachDialogContent @ material.es5.js:19486 mddialog.open @ material.es5.js:19400 webpackJsonp.751.SideNavsComponent.openDialog @ side-navs.component.ts:39 webpackJsonp.751.SideNavsComponent.signIn @ side-navs.component.ts:35 (anonymous) @ SideNavsComponent.html:32 handleEvent @ core.es5.js:11892 callWithDebugContext @ core.es5.js:13184 debugHandleEvent @ core.es5.js:12772 dispatchEvent @ core.es5.js:8792 (anonymous) @ core.es5.js:10720 schedulerFn @ core.es5.js:3842 SafeSubscriber.__tryOrUnsub @ Subscriber.js:236 SafeSubscriber.next @ Subscriber.js:185 Subscriber._next @ Subscriber.js:125 Subscriber.next @ Subscriber.js:89 Subject.next @ Subject.js:55 EventEmitter.emit @ core.es5.js:3816 ToggleButton.toggle @ togglebutton.js:42 (anonymous) @ ToggleButton.html:4 handleEvent @ core.es5.js:11892 callWithDebugContext @ core.es5.js:13184 debugHandleEvent @ core.es5.js:12772 dispatchEvent @ core.es5.js:8792 (anonymous) @ core.es5.js:9384 (anonymous) @ platform-browser.es5.js:2683 webpackJsonp.1467.ZoneDelegate.invokeTask @ zone.js:414 onInvokeTask @ core.es5.js:4119 webpackJsonp.1467.ZoneDelegate.invokeTask @ zone.js:413 webpackJsonp.1467.Zone.runTask @ zone.js:181 ZoneTask.invoke @ zone.js:476 mddialogContainer_Host.html:1 ERROR CONTEXT DebugContext_ {view: {…},nodeIndex: 0,nodeDef: {…},elDef: {…},elView: {…}}
如何在销毁组件后阻止changeDetection触发;换句话说,如何在没有错误的情况下使这段代码正常工作?
注意:尝试了很多关于stackoverflow的建议,但都没有.
谢谢
解决方法
它是这样的:
>对话框存在于视图中,设置状态
>点击关闭
>开始你的活动
>您的活动被阅读(断章取义)
>从视图中删除(仍然不在上下文中)
>最终发现变化检测是为了寻找组件中的变化,OH SNAP组件是什么?
您可以使用其他方法与对话框进行通信,也可以切换到onPush() for change detection
我建议你改用afterClosed手柄:
this. authEmailDialogRef.afterClosed().subscribe(result => { console.log(`Dialog result: ${result}`); // Pizza! });
我直接从文档中删除了该片段:HERE
今天关于mongoError: Topology was destroyed的分享就到这里,希望大家有所收获,若想了解更多关于Adnroid:values/strings.xml报错:" error: Apostrophe not preceded by ..."、An error has occurred. See error log for more details. java.lang.NullPointer、Android片段生命周期onStop,onDestroyView,onDestroy和onDetach、angular – ViewDestroyedError:尝试使用已销毁的视图:detectChanges等相关知识,可以在本站进行查询。
本文标签: