次の問題
以下のコードで、`then`と`catch`の実行順序として正しいものはどれですか?
```javascript
console.log("1");
const promise = new Promise(function(resolve, reject) {
console.log("2");
setTimeout(function() {
resolve("完了");
}, 1000);
});
promise.then(function(result) {
console.log("3");
});
console.log("4");```