这可能已经被问过了,但是如何在JS中展平promise呢?
像这样:
let justAPromise: Promise<something> = aPromise.flatMap( a => getAnotherPromise());
或者类似于这样的内容:
或者类似于这样:
let promiseOfPromise: Promise<Promise<something>> = aPromise.then( a => getAnotherPromise());
let justAPromise: Promise<something> = promiseOfPromise.flatten();
编辑:
我所说的扁平化promise是什么意思需要澄清。我认为以下两者之间存在巨大差异:第一种是int类型的promise,而第二种是int类型的promise的promise:
Promise.resolve(23);
Promise.resolve("whatever").then(a => Promise.resolve(23));