12345678910111213141516171819202122232425262728293031323334 |
- import Enumerator from './enumerator';
- import {
- PENDING,
- FULFILLED,
- fulfill
- } from './-internal';
- export default class PromiseHash extends Enumerator {
- constructor(Constructor, object, abortOnReject = true, label) {
- super(Constructor, object, abortOnReject, label);
- }
- _init(Constructor, object) {
- this._result = {};
- this._enumerate(object);
- }
- _enumerate(input) {
- let keys = Object.keys(input);
- let length = keys.length;
- let promise = this.promise;
- this._remaining = length;
- let key, val;
- for (let i = 0; promise._state === PENDING && i < length; i++) {
- key = keys[i];
- val = input[key];
- this._eachEntry(val, key, true);
- }
- this._checkFullfillment();
- }
- }
|