Конструкторы перемещения создаются автоматически?

Вы можете использовать Function.prototype.bind для создания новой функции со значением, переданным ее первому аргументу, например

P.then(doWork.bind(null, 'text'))

, и вы можете изменить doWork на ,

function doWork(text, data) {
  consoleToLog(data);
}

Теперь text будет фактически 'text' в doWork, а data будет значением, разрешенным обещанием.

Примечание: Пожалуйста, сделайте убедитесь, что вы прикрепляете обработчик отклонения к вашей цепочке обещаний.


Рабочая программа: Живая копия REPL для Babel

function doWork(text, data) {
  console.log(text + data + text);
}

new Promise(function (resolve, reject) {
    var a = 5;
    if (a) {
      setTimeout(function () {
        resolve(a);
      }, 3000);
    } else {
      reject(a);
    }
  })
  .then(doWork.bind(null, 'text'))
  .catch(console.error);

30
задан R. Martinho Fernandes 28 November 2011 в 03:01
поделиться