Как повторно вызывать одну и ту же функцию JavaScript, ожидая, пока функция запустится, прежде чем снова вызывать ее, используя цепочку методов?

Используя цепочку методов, я хочу запустить функцию несколько раз, но только после того, как функция завершена. Почти как не выполнять до тех пор, пока функция не запустится полностью. Пример предполагаемого результата:

var myfunc = {
    copy: function(message){
        window.setTimeout(function(){
           console.log(message);
        },1000);
        return this;
    }
};
myfunc.copy('hello').copy('world'); 
// wait a second then log:
// hello
// wait until first function completion (1000ms), wait a second then log:
// world

Любая помощь приветствуется!

Ответы на вопрос(3)

Ваш ответ на вопрос