Как вернуть промисс?

300
07 сентября 2017, 20:11

Здравствуйте. Можно такой небольшой вопрос. вот метод. Тут возвращается промисс

onClick = () => getLogin({
    permissions: 'premissions'
  })
  .then(this.handleSuccess)
  .catch(this.handleError);

но мне в этом методе нужно вызывать еще один метод и при этом все равно возвращать промис. то есть я добавляю явный return

onClick = () => {
  this.handleClick('vk');
  return getLogin({
      permissions: 'premissions'
    })
    .then(this.handleSuccess)
    .catch(this.handleError);
};

как правильно заменить?

Answer 1

Во-первых, всё и с явным return нормально. Во-вторых, если уж хочется именно синтаксически избавиться от слова return (либо это делается для отладки), можно поставить круглые скобки и запятую:

var f = () => (console.log("f"), g()); 
 
function g() { 
  console.log("g"); 
  return 4; 
} 
 
console.log(f());

READ ALSO
Как добавлять компоненты vue динамически?

Как добавлять компоненты vue динамически?

На сайте есть основной js, и js для конкретной страницы, который уже потом берётся с сервераВ основном js я создаю экземпляр vue, можно ли после...

311
Javascript: return функции из промиса [дубликат]

Javascript: return функции из промиса [дубликат]

На данный вопрос уже ответили:

292
Почему for и forEach работают по-разному? [дубликат]

Почему for и forEach работают по-разному? [дубликат]

На данный вопрос уже ответили:

294
Кроссбраузерный websocket

Кроссбраузерный websocket

Как сделать надежную поддержку websocket на тех браузерах где эта технология не работает? Вычитал что есть несколько сторонних библиотекНо вот...

248