我在 angular4 中使用HTTP_INTERCEPTORS
。为此,我创建了 HttpServiceInterceptor
类,该类实现了 HttpInterceptor
接口并提供拦截
方法的定义。然后注册提供商进行这样的HTTP_INTERCEPTORS
providers: [{
provide: HTTP_INTERCEPTORS,
useClass: HttpServiceInterceptor,
multi: true
}],
这很好。但是我还是不明白这里的< code>multi:true是什么意思?我看过这个回答。
如果我删除了< code>multi:true选项,浏览器端就会出现错误
Uncaught Error: Provider parse errors:
Mixing multi and non multi provider is not possible for token InjectionToken_HTTP_INTERCEPTORS ("[ERROR ->]"): in NgModule AppModule in ./AppModule@-1:-1
at NgModuleProviderAnalyzer.webpackJsonp.487.NgModuleProviderAnalyzer.parse (vendor.js:36335)
at NgModuleCompiler.webpackJsonp.487.NgModuleCompiler.compile (vendor.js:43184)
at JitCompiler.webpackJsonp.487.JitCompiler._compileModule (vendor.js:51527)
at vendor.js:51472
at Object.then (vendor.js:26354)
at JitCompiler.webpackJsonp.487.JitCompiler._compileModuleAndComponents (vendor.js:51470)
at JitCompiler.webpackJsonp.487.JitCompiler.compileModuleAsync (vendor.js:51399)
at PlatformRef_.webpackJsonp.0.PlatformRef_._bootstrapModuleWithZone (vendor.js:4746)
at PlatformRef_.webpackJsonp.0.PlatformRef_.bootstrapModule (vendor.js:4732)
at Object.<anonymous> (app.js:23366)
这是否意味着<code>HTTP_INTERCEPTORS</code>是初始化多个指令或组件的多提供者?如果是,那么还有哪些指令和组件?
多提供者与指令无关。本答案仅作为示例提及指令。
考虑到FOO
是注入令牌,这
providers: [
{ provide: FOO, useClass: Bar, multi: true },
{ provide: FOO, useClass: Baz, multi: true }
]
使FOO
注入依赖项成为分配给该令牌的多个提供程序的数组,即:
providers: [
{ provide: FOO, useValue: [Bar, Baz] }
]
不同之处在于,可以在同一个注入器的多个位置定义多提供程序,并且所有附加 { 提供:FOO, multi: true, ... }
都推送到
FOO
数组。
问题内容: 下面是代码片段。 有人可以向我解释@符号在Java中的含义吗? 问题答案: 这是一个注释。 注释是元数据的一种形式。它们提供的程序数据不属于程序本身。注释对其注释的代码的操作没有直接影响。 注释确实会影响工具和库对待程序的方式,进而会影响正在运行的程序的语义。可以从源文件,类文件中读取注释,也可以在运行时从中读取注释。
问题内容: 异步在Ajax中意味着什么?以及Ajax如何知道何时在不进行服务器轮询的情况下提取数据? 问题答案: 异步意味着脚本将向服务器发送请求,并继续执行它而无需等待答复。收到答复后,立即触发浏览器事件,该事件进而允许脚本执行关联的操作。 Ajax知道何时从服务器提取数据,因为您告诉它何时进行处理。
我想创建一个
问题内容: 我对gulp比较陌生,我想知道gulp任务到底是做什么的?我已经搜集到它通常在a 和after之后运行,但是它还必须更多。我一直无法在网上或gulp的文档中找到任何东西,我真的很想了解我在使用什么。 编辑我发现了这个,但是在解释它方面做得很差 问题答案: 从Node文档中: https://nodejs.org/api/stream.html#stream_visible_pipe_d
问题内容: 我正在学习python,但不确定是否理解以下语句:“该函数(包括其名称)可以捕获 我们对问题的看法或抽象 。” 这是我不理解编程含义的粗体部分。引用来自http://www.openbookproject.net/thinkcs/python/english3e/functions.html 像计算机科学家一样思考,第3版。 谢谢 ! 问题答案: 抽象是所有计算机科学中的核心概念。没有
我正在学习python,我不确定是否理解以下语句:“函数(包括它的名字)可以捕捉我们对问题的心理组块或抽象。” 我不理解粗体部分在编程方面的含义。引用自http://www.openbookproject.net/thinkcs/python/english3e/functions.html 如何像计算机科学家一样思考,第3版。 谢谢你!