Promise 的坑
bluebird 的 any/some 会吞 rejected promise
例如 any:
var Promise = require('bluebird');
Promise.any([Promise.resolve(1), Promise.reject(2)])
.then(function() {
console.log('result', arguments);
})
.catch(function() {
console.log('error', arguments);
});
只有数组中的 promise 全都 rejected,any 的 promise 才会 rejected,否则就是 fulfilled。
因此如果数组里的某些 promise 函数发生意外情况了,如果不单独 catch 的话,就没法获知错误信息了。