LazyMan 제목
function _LazyMan(name) {
 
    this.promiseGetters = [];
 
    var makePromise = function  () {
        var promiseObj = new Promise(function(resolve, reject){
            console.log("Hi! This is " + name + "!");
 
            resolve();
        })
 
        return promiseObj;
    }
 
    this.promiseGetters.push(makePromise);
 
    //  Promise then , 
    var self = this;
    var sequence = Promise.resolve();
    // Promise.resolve  
    // var sequence = new Promise(function (resolve, reject) {
    //     resolve();
    // })
    setTimeout(function(){
        for (var i = 0; i < self.promiseGetters.length; i++) {
            var nowPromiseGetter = self.promiseGetters[i];
            var thenFunc = (function (nowPromiseGetter) {
                return function  () {
                    return nowPromiseGetter()
                }
            })(nowPromiseGetter);
 
            sequence = sequence.then(thenFunc);
        };
 
    }, 0); //  
}
 
_LazyMan.prototype.eat = function(name) {
    var makePromise = function  () {
        var promiseObj = new Promise(function(resolve, reject){
            console.log("Eat " + name + "~");
 
            resolve();
        })
 
        return promiseObj;
    }
 
    this.promiseGetters.push(makePromise);
 
    return this; //  
}
 
_LazyMan.prototype.sleep = function(time) {
    var makePromise = function  () {
        var promiseObj = new Promise(function(resolve, reject){
 
            setTimeout(function(){
 
                console.log("Wake up after " + time + "s!");
 
                resolve();
 
            }, time * 1000);
        })
 
        return promiseObj;
    }
 
    this.promiseGetters.push(makePromise);
 
    return this;
}
 
/*   */
 
function LazyMan(name){
 
    return new _LazyMan(name);
 
}
//  LazyMan("Hank")
// LazyMan("Hank").sleep(1).eat("dinner")
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.