任何人都可以向我指出ASP.Net MVC 3请求处理管道的最新图表吗?
我有一个旧版本(MVC v1,v2),但它不再准确,因为在MVC3中引入了IControllerActivator(可能还有其他框架更改).
在redux-saga中,你有什么理由赞成使用callvs. fork和join?
例如,在调用HTTP API时,执行此操作的优缺点是什么:
const result = yield call(apiWrapperFunction, arg1, arg2)
Run Code Online (Sandbox Code Playgroud)
与此相对:
const task = yield fork(apiWrapperFunction, arg1, arg2)
const result = yield join(task)
Run Code Online (Sandbox Code Playgroud) 我正在尝试强类型化一个globalizeSelectors函数,该函数将转换redux选择器函数的映射,使得它们将接受一个GlobalState类型而不是基于其StateSlice的键的StateSlice类型(其中StateSlice表示它是GlobalState之一的值)对象的属性).
棘手的部分是选择器的返回类型可能都不同,我不知道如何键入该变体(或者甚至可能).基于打字稿文档,我猜这可能涉及一些巧妙的infer运算符使用,但我的typescript-fu还没有达到那个级别.
这是我到目前为止所得到的:(顺便说一句,对于你的还原类型,请注意这些选择器不处理道具或额外的args的事实 - 我已经删除了这一点以简化这一点)
import { mapValues } from 'lodash'
// my (fake) redux state types
type SliceAState = { name: string }
type SliceBState = { isWhatever: boolean }
type GlobalState = {
a: SliceAState;
b: SliceBState;
}
type StateKey = keyof GlobalState
type Selector<TState, TResult> = (state: TState) => TResult
type StateSlice<TKey extends StateKey> = GlobalState[TKey]
type GlobalizedSelector<TResult> = Selector<GlobalState, TResult>
const globalizeSelector = <TKey extends StateKey, Result>(
sliceKey: TKey,
sliceSelector: …Run Code Online (Sandbox Code Playgroud)