我有以下文字编码:
function loader<P extends [], T>(load: (...args: P) => Promise<T>, lazy = false) {
const result: { value?: T, error?: unknown } = {}
function start(...args: P) {
load(...args)
.then(v => result.value = v)
.catch(e => result.error = e)
}
// Argument of type [] is not assignable to parameter of type P .
if (!lazy) start()
return { restart: start, result }
}
const load = (a = 1, b = 2) => Promise.resolve(a + b)
// restart is () => void
const { restart, result } = loader(load)
我需要限制参数<代码><<>载荷/代码>,以便能够在没有参数的情况下使用,即没有参数,或者所有参数都是选择性的。 功能<代码>start。
此外,我希望restart
和load
有相同的参数清单。 页: 1 应为(a?: number, b?: number) => Promise< number>
。