751得票17回答
我如何在.then()链中访问先前的promise结果?

我已经重构了我的代码,使用了Promise,并建立了一个美妙的长扁平化 Promise 链,由多个.then()回调组成。最终我想返回一些复合值,并需要访问多个中间 Promise 结果。但是序列中间的解析值在最后一个回调中不在作用域内,该如何访问它们?function getExample(...

650得票3回答
什么是显式承诺构造反模式,如何避免它?

我正在编写一段看起来像这样的代码:function getStuffDone(param) { | function getStuffDone(param) { var d = Q.defer(); /* or $q.defer */ | return ne...

576得票20回答
等待所有承诺完成,即使有一些被拒绝

假设我有一组正在进行网络请求的Promise,其中一个将会失败:// http://does-not-exist will throw a TypeError var arr = [ fetch('index.html'), fetch('http://does-not-exist') ] ...

513得票27回答
在Promise构造函数范围之外解决Javascript Promise

我一直在使用ES6 Promise。通常,Promise的构造和使用方式如下所示:new Promise(function(resolve, reject){ if (someCondition){ resolve(); } else { rej...

504得票19回答
如何检查一个对象是否是 Promise?

无论是 ES6 的 Promise,还是 Bluebird 的 Promise、Q 的 Promise 等等。 我该如何测试一个给定的对象是否为 Promise?

471得票8回答
如何在async/await语法中使用reject?

我可以如何拒绝由async/await函数返回的Promise? 例如,原本: foo(id: string): Promise<A> { return new Promise((resolve, reject) => { someAsyncPromise()...

437得票22回答
处理 Promise.all 中的错误

我有一个 Promise 数组,我用 `Promise.all(arrayOfPromises);` 来解决它们。 然后我继续进行 Promise 链。大致如下所示。 existingPromiseChain = existingPromiseChain.then(function() {...

405得票6回答
早期解决/拒绝后我需要返回吗?

假设我有以下的代码。function divide(numerator, denominator) { return new Promise((resolve, reject) => { if(denominator === 0){ reject("Cannot divid...

322得票17回答
Axios如何获取响应头字段

我正在使用React和Redux构建前端应用程序,并使用axios执行请求。我想要访问响应头中的所有字段。在我的浏览器中,我可以检查标头并看到我需要的所有字段都存在(例如令牌,UID等),但是当我调用时... const request = axios.post(`${ROOT_URL}/a...

310得票3回答
Promise.all:已解决值的顺序

看起来根据MDN的说明,Promise.all 的 then() 回调接受到的 values 参数是按照传入的 Promise 的顺序排列的。例如:var somePromises = [1, 2, 3, 4, 5].map(Promise.resolve); return Promise.a...