CNode

一个简单的异步请求,想把他变成同步,大神高手进来看看,就是让a得结果先出来!

问答
DDMY-sunny发布于9 年前最后回复9 年前6 回复4179 浏览0 收藏

function time() {

a();
console.log("love");

}

function a() { setTimeout(function () { console.log("gun");

},3000)

}

time();

查看回复

回复 (6)

D
DMY-sunny#1·9 年前

今天刚碰到异步变同步问题感觉好棘手,高手们支援一下!

P
PirateD311#2·9 年前

function sleepSync(time){ return new Promise((resolve,reject)=>{ setTimeout(function(){ resolve(); },time); }) } async bin(){ await sleepSync(500); }

D
DMY-sunny#3·9 年前

感觉没懂

P
PirateD311#4·9 年前
引用 DMY-sunny感觉没懂

@DMY-sunny 想异步变同步先搞懂promise,再搞懂es7的async

I
im-here#5·9 年前
var a = function () {
    return new Promise(function (resolve, reject) {
        setTimeout(function () {
        	console.log('gun');
            resolve();
        }, 3000);
    });
};

var time = async function () {    
    await a();
    console.log('love');
};

time();
N
ngot#6·9 年前
参与回复
登录后即可参与回复。登录