например,
var P = new Promise(function (resolve, reject) {
  var a = 5;
  if (a) {
    setTimeout(function(){
      resolve(a);
    }, 3000);
  } else {
    reject(a);
  }
});
После вызова метода пообещаем:
P.then(doWork('text'));
Функция doWork выглядит следующим образом:
function doWork(data) {
  return function(text) {
    // sample function to console log
    consoleToLog(data);
    consoleToLog(b);
  }
}
Как я могу избежать внутренней функции в doWork, чтобы получить доступ к данным с обещанием и параметром текста? если есть какие-то трюки? спасибо.