以下のコードで、`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");```