Вот как я предпочитаю запускать задачи последовательно.
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?
blockquote>function runSerial(tasks) { var result = Promise.resolve(); tasks.forEach(task => { result = result.then(() => task()); }); return result; }
Использовать IsMissing
:
If IsMissing(arg) Then
MsgBox "Parameter arg not passed"
End If
Однако, если я правильно помню, это не работает при указании аргумента по умолчанию, и в любом случае это заставляет использовать аргумент по умолчанию довольно избыточен.
Вы можете использовать функцию IsMissing (). Но этот работает только с типом данных Variant.
Sub func(Optional s As Variant)
If IsMissing(s) Then
' ...
End If
End Sub