Tag: typescript2.3

Promise <T>的TypeScript参数,为什么不承诺<T1,T2>?

我想知道为什么Promise<T>不需要两个参数,如下所示: Promise<T1,T2> 。 例如: new Promise(function(resolve,reject){ … err ? reject(err) : resolve(val); }); =>🌷🌷🌷如何告诉消费者关于err 和 val两种types的承诺? 🌷🌷🌷 我希望T1是Errortypes, T2是val的types。 为什么不承诺采取两个types的参数? 因为它正式只有一个,我假设参数是传递给resolve()的值的types? 是否只有一个参数,因为我们期望一个Errortypes总是被传递给reject() ? 进一步的细节,我们可以传递一个string来拒绝: new Promise(function(resolve,reject){ let err = 'just a string, not an object'; let val = {foo:'bar'}; err ? reject(err) : resolve(val); }); 请注意,我们可以将错误强制为某种types ,如下所示: return function(){ return Promise.resolve('whatever') .catch(function(){ return Promise.reject('always a […]