• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

171
Vistas
JavaScript Cómo generar el valor de result1 y result2

El siguiente script genera solo el valor de la variable "resultado2"

Cómo generar el valor de "result1" y "result2" sin usar console.log, porque pondré este script en el marco cefSharp de C#, cefSharp no genera datos que están en "console.log"

ingrese la descripción de la imagen aquí

 var result; var result2; const myPromise = new Promise( function(resolve) { var a1 = 2 + 2; resolve(a1); } ); myPromise .then(res=>{return result = res;}); result; //output=4 myPromise .then(res2=>{result = res2+1; return result2=result;}); result2; //output=5 

 var result; var result2; const myPromise = new Promise( function(resolve) { var a1 = 2 + 2; resolve(a1); } ); myPromise .then(res=>{return result = res;}); result; myPromise .then(res2=>{result = res2+1; return result2=result;}); result2;

Aquí está la información sobre cómo ejecutar JavaScript y Promise en cefSharp

Evalúe Javascript en el contexto de este marco principal de navegadores. El script se ejecutará de forma asíncrona y el método devuelve una Tarea que encapsula la respuesta del Javascript. El resultado de la ejecución del script en javascript es Promise.resolve, por lo que incluso ningún valor de promesa se tratará como una promesa. Su javascript debe devolver un valor. El javascript se envolverá en una expresión de función invocada inmediatamente. Cuando la promesa se active o capture esta tarea devuelta se completará.

 var script = "return new Promise(function(resolve, reject) { setTimeout(resolve.bind(null, { a: 'CefSharp', b: 42, }), 1000); });" JavascriptResponse javascriptResponse = await browser.EvaluateScriptAsPromiseAsync(script);
almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La llamada a console.log solo muestra el valor de la declaración anterior y nada más.
Usar el resultado fuera de la función de promesa puede ser un problema: la promesa podría terminar después. ¿Tal vez quiera ver async/await ?

Promise.all lo hace todo

No estoy seguro sobre el lado C# de las cosas, pero como dice JavaScript:
Si desea acceder a ambos resultados de las promesas, es posible que le interese implementar Promise.all

 const myPromise = new Promise( function(resolve) { let result = 410; resolve(result + 10); } ); const myPromise2 = new Promise( function(resolve) { let result2 = 67; resolve(result2 + 2); } ); Promise.all([myPromise, myPromise2]).then((values) => { // These are all results from all promises // You can analyze/modify/copy their results with a forEach or however you like. console.log(values); });

Esta implementación de ejemplo ahora puede usar todos los resultados de todas las promesas.

almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda