Necesito algunas promesas de ayuda y q biblioteca

Necesito ayuda con la syntax con node.js promises En el módulo readme for node.js llamado q https://github.com/kriskowal/q está escrito algo que no entiendo.

¿Por qué siempre escriben return antes de la promise ?

 return Q.fcall(eventualAdd, 2, 2); 

¿Cómo hago una función asíncrona con callback en función que devuelve promise ? lo bash

 function doThis(a,b, callback) { var result = a+ b; setTimeout( callback, 2000, result);} Q.ncall(doThis, 2,3).then( function(result) { alert(result); }); 

Creo que después del 2000 debe alertar con 5 pero no pasa nada.

  1. La razón es que, en ese caso, quieren devolver la promesa a la persona que llama de la función actual.

  2. He hecho esto en mi propio progtwig y se hace así:

    • Primero note que el segundo argumento de Q.ncall([function], [this], [arguments,...]) es this .
    • En segundo lugar, tenga en cuenta que los argumentos para la callback dados por Q.ncall a la función dada son los mismos que para todas las demás devoluciones de llamada de node.js (error, result) tanto, la necesidad de dar a la callback null como error en caso de éxito.

       var Q = require('q'); function doThis(a,b, callback) { var result = a + b; setTimeout(function () { callback(null, result) }, 2000); } Q.ncall(doThis, null, 2, 3).then(function(result) { console.error(result); }); 
    • Este código funciona como usted describe; note las diferencias.