Существует ли способ обработать переменное количество параметров в шаблонном классе?

Вы можете создать Обещание, которое разрешается после выполнения обоих setState вызовов:

function handleSomething() {
  return new Promise(resolve => {
    this.setState(
      prevState => {
        /*...*/
      },
      async () => {
        let result = await f();
        this.setState(
          prevState => {
            /*...*/
          },
          () => resolve(result)
          //    ^^^^^^^ resolve the promise with the final result
        );
      }
    );
  });
}

, которые будут использоваться как:

this.handleSomething.then(result => /* ... */)

// or

const result = await this.handleSomething();
5
задан KPexEA 30 September 2008 в 20:10
поделиться

3 ответа

Еще на самом языке, но C++ 0x не будет иметь поддержку шаблонов variadic.

5
ответ дан 14 December 2019 в 04:51
поделиться

C++ 0x variatdic шаблоны является Вашим лучшим выбором, но это также будет некоторое время, прежде чем можно будет использовать их.

Если Вы нуждаетесь в последовательностях типов сегодня, смотрите на вектор MPL типов, а также других типов последовательности типа. Это - часть библиотеки Boost. Это позволяет Вам обеспечивать аргумент шаблона, который является последовательностью типов вместо просто единственного типа.

3
ответ дан 14 December 2019 в 04:51
поделиться

Как насчет того, чтобы обойти эту проблему с помощью Повышения Связывают? Вы могли заставить свой код принять отдельный аргумент или ни один вообще, и связать аргументы, в которых Вы нуждаетесь на сайте вызова.

0
ответ дан 14 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: