@@ -870,15 +870,15 @@ MyPromise.prototype.then = function(onResolved, onRejected) {
870870 let promise2;
871871 // especificação 2.2, ambos `onResolved` e `onRejected` são argumentos opcionais
872872 // isso deveria ser ignorado se `onResolved` ou `onRjected` não for uma função,
873- // which implements the penetrate pass of it ' s value
873+ // do qual implementa a penetrar a passagem desse valor
874874 // `Promise.resolve(4).then().then((value) => console.log(value))`
875875 onResolved = typeof onResolved === ' function ' ? onResolved : v => v;
876876 onRejected = typeof onRejected === 'function ' ? onRejected : r => throw r;
877877
878878 if (self .currentState === RESOLVED ) {
879879 return (promise2 = new MyPromise ((resolve , reject ) => {
880- // specification 2.2.4, wrap them with `setTimeout`,
881- // in order to insure that `onFulfilled` and `onRjected` execute asynchronously
880+ // especificação 2.2.4, encapsula eles com `setTimeout`,
881+ // em ordem para garantir que `onFulfilled` e `onRjected` executam assícronamente
882882 setTimeout (() => {
883883 try {
884884 let x = onResolved (self .value );
@@ -892,7 +892,7 @@ MyPromise.prototype.then = function(onResolved, onRejected) {
892892
893893 if (self .currentState === REJECTED ) {
894894 return (promise2 = new MyPromise ((resolve , reject ) => {
895- // execute `onRejected` asynchronously
895+ // execute `onRejected` assícronamente
896896 setTimeout (() => {
897897 try {
898898 let x = onRejected (self .value );
@@ -907,7 +907,7 @@ MyPromise.prototype.then = function(onResolved, onRejected) {
907907 if (self .currentState === PENDING ) {
908908 return (promise2 = new MyPromise ((resolve , reject ) => {
909909 self .resolvedCallbacks .push (() => {
910- // Considering that it may throw error, wrap them with `try/catch`
910+ // Considerando que isso deve lançar um erro, encapsule eles com `try/catch`
911911 try {
912912 let x = onResolved (self .value );
913913 resolutionProcedure (promise2, x, resolve, reject);
@@ -928,22 +928,22 @@ MyPromise.prototype.then = function(onResolved, onRejected) {
928928 }
929929}
930930
931- // specification 2.3
931+ // especificação 2.3
932932function resolutionProcedure (promise2 , x , resolve , reject ) {
933- // specification 2.3.1,`x` and `promise2` can't refer to the same object ,
934- // avoiding the circular references
933+ // especificação 2.3.1,`x` e `promise2` não podem ser referenciados para o mesmo objeto ,
934+ // evitando referência circular
935935 if (promise2 === x) {
936936 return reject (new TypeError (' Error' ));
937937 }
938938
939- // specification 2.3.2, if `x` is a Promise and the state is `pending`,
940- // the promise must remain, If not, it should execute .
939+ // especificação 2.3.2, se `x` é uma Promise e o estado é `pending`,
940+ // a promisse deve permanecer, se não, ele deve ser executado .
941941 if (x instanceof MyPromise) {
942942 if (x .currentState === PENDING ) {
943- // call the function `resolutionProcedure` again to
944- // confirm the type of the argument that x resolves
945- // If it's a primitive type, it will be resolved again to
946- // pass the value to next `then`.
943+ // chame a função `resolutionProcedure` novamente para
944+ // confirmar o tipo de argumento que x resolve
945+ // Se for um tipo primitivo, irá ser resolvido novamente
946+ // passando o valor para o próximo `then`.
947947 x .then ((value ) => {
948948 resolutionProcedure (promise2, value, resolve, reject);
949949 }, reject)
@@ -953,9 +953,9 @@ function resolutionProcedure(promise2, x, resolve, reject) {
953953 return ;
954954 }
955955
956- // specification 2.3.3.3.3
957- // if both `reject` and `resolve` are executed, the first successful
958- // execution takes precedence, and any further executions are ignored
956+ // especificação 2.3.3.3.3
957+ // se ambos `reject` e `resolve` forem executado, a primeira execução
958+ // de sucesso tem precedência, e qualquer execução é ignorada
959959 let called = false ;
960960 // specification 2.3.3, determine whether `x` is an object or a function
961961 if (x !== null && (typeof x === ' object' || typeof x === ' function' )) {
0 commit comments