Как мне проверить, указаны ли необязательные аргументы или нет?

Вот как я предпочитаю запускать задачи последовательно.

function runSerial() {
    var that = this;
    // task1 is a function that returns a promise (and immediately starts executing)
    // task2 is a function that returns a promise (and immediately starts executing)
    return Promise.resolve()
        .then(function() {
            return that.task1();
        })
        .then(function() {
            return that.task2();
        })
        .then(function() {
            console.log(" ---- done ----");
        });
}

Как насчет случаев с большим количеством задач? Например, 10?

function runSerial(tasks) {
  var result = Promise.resolve();
  tasks.forEach(task => {
    result = result.then(() => task());
  });
  return result;
}
64
задан Konrad Rudolph 19 September 2018 в 15:34
поделиться

3 ответа

Использовать IsMissing :

If IsMissing(arg) Then
    MsgBox "Parameter arg not passed"
End If

Однако, если я правильно помню, это не работает при указании аргумента по умолчанию, и в любом случае это заставляет использовать аргумент по умолчанию довольно избыточен.

83
ответ дан 24 November 2019 в 14:16
поделиться

Вы можете использовать функцию IsMissing (). Но этот работает только с типом данных Variant.

Sub func(Optional s As Variant)
   If IsMissing(s) Then
      ' ...
   End If
End Sub
19
ответ дан 24 November 2019 в 14:16
поделиться

If IsMissing (arg) Then ...

3
ответ дан 24 November 2019 в 14:16
поделиться
Другие вопросы по тегам:

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