La création d'un (ES6) promesse sans commencer à le résoudre

À l'aide de ES6 promesses, comment puis-je créer une promesse sans la définition de la logique pour le résoudre? Voici un exemple de base (certains caractères d'imprimerie):

var promises = {};
function waitFor(key: string): Promise<any> {
  if (key in promises) {
    return promises[key];
  }
  var promise = new Promise(resolve => {
    //But I don't want to try resolving anything here :(
  });

  promises[key] = promise;
  return promise;
}

function resolveWith(key: string, value: any): void {
  promises[key].resolve(value); //Not valid :(
}

C'est facile à faire avec les autres promesse de bibliothèques. JQuery par exemple:

var deferreds = {};
function waitFor(key: string): Promise<any> {
  if (key in promises) {
    return deferreds[key].promise();
  }
  var def = $.Deferred();    
  deferreds[key] = def;
  return def.promise();
}

function resolveWith(key: string, value: any): void {
  deferreds[key].resolve(value);
}

Le seul moyen que je vois pour ce faire serait de stocker les résoudre fonction quelque part dans la promesse de l'exécuteur testamentaire, mais qui semble sale, et je ne suis pas sûr qu'il est défini exactement quand cette fonction est exécutée - est-il toujours exécuter immédiatement sur l'industrie de la construction?

Grâce.

InformationsquelleAutor Barguast | 2015-06-26