我有一个返回值为Promise<T>或undefined的函数callback<T>。现在我想创建一个包装函数,它将执行函数并始终返回Promise -如果回调函数返回undefined,Promise应该用undefined解析。函数签名必须看起来如何才能保持类型?(非工作)示例:
function wrap<T>(c
, iterable[i], i, iterable);} console.log(this.charAt); // Should fail type check but couldn't为了使this, iterable[i], i, iterable);}
现在,当调用函数时,类型验证工作。expected] Error: Property '
基本上,如果存在callback参数,我总是希望函数本身返回void。否则,返回Promise<object>类型。在此之前有一个可选参数(因此,从技术上讲,callback参数可以作为settings参数传入,函数的前几行处理该用例)。出于向后兼容性的目的(并使代码保持干燥),我不希望创建另一个名为savePromise或saveCallback的函数并将其分离开来。: CallbackType<object, s