Неожиданная деструктура с Promise.all в ES5 - PullRequest
0 голосов
/ 13 мая 2019

Я использую Promise.all для вызова набора Обещаний.Наша версия для разработки поддерживает только ES5.Следовательно, ESLINT выдает ошибку, когда я использую следующее утверждение:

Promise.all([
  service.document.getDocumentByPath( grantorPath ),
  service.document.getDocumentByPath( synonymPath ),
  service.document.getDocumentByPath( templatePath )
]).then(function([grantorDoc, synonymDoc, templateDoc]) {

ESLint error : Unexpected destructuring. eslint(es5/no-destructing)

Я бы хотел

  1. удалить ошибку ESLINT, не касаясь правил eslint.
  2. использовать результаты (grantorDoc, synonymDoc, templateDoc), полученные после выполнения обещаний.

1 Ответ

0 голосов
/ 13 мая 2019

Ваш плагин ESLint запрещает деструктурирование .Поскольку кажется, что ваш код должен быть совместим с ES5, объявите эти переменные в первых строках функции:

Promise.all([
  service.document.getDocumentByPath( grantorPath ),
  service.document.getDocumentByPath( synonymPath ),
  service.document.getDocumentByPath( templatePath )
]).then(function(result) {
  var grantorDoc = result[0];
  var synonymDoc = result[1];
  var templateDoc = result[2];
  // ...
});

(при этом, возможно, было бы более целесообразно писать в ES6 + и автоматически переносить их).код для ES5 позже с Babel, если вы хотите иметь возможность читать и писать краткий читаемый код)

Убедитесь, что ваша среда поддерживает Promise.all, так как это функция ES6 - используйте полифилл, если выеще нет.

...