@@ -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