小编Jam*_*ail的帖子

最新的ASP.Net MVC 3请求处理流水线图?

任何人都可以向我指出ASP.Net MVC 3请求处理管道的最新图表吗?

我有一个旧版本(MVC v1,v2),但它不再准确,因为在MVC3中引入了IControllerActivator(可能还有其他框架更改).

asp.net-mvc asp.net-mvc-3

30
推荐指数
2
解决办法
8363
查看次数

redux-saga:调用vs fork和join

在redux-saga中,你有什么理由赞成使用callvs. forkjoin

例如,在调用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)

redux-saga

7
推荐指数
2
解决办法
2727
查看次数

Typescript:如何强大地键入一个函数,该函数将函数映射转换为具有不同类型参数的类似函数?

我正在尝试强类型化一个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)

typescript redux

6
推荐指数
1
解决办法
198
查看次数