我是Promise的新手。这是我的代码
function heavyProcess(){
var ts = + new Date();
while((+ new Date() - 2000) < ts ){
//2 second delay to simulate lengthy process
}
console.log('after 2 seconds');
return Promise.resolve("Done");
}
console.log("START");
heavyProcess().then(function(resolve){
console.log(resolve);
});
console.log("END");
它的输出是
START
after 2 seconds
END
Done
我该怎么做?我不想调用繁重的流程来阻止下一个代码。
START
END
after 2 seconds
Done
我一直在阅读有关Promise的信息,但我似乎无法完成这项工作。
答案 0 :(得分:2)
这是您需要的吗?
var p = () => new Promise((resolve, reject) => {
setTimeout(() => {
console.log('after 2 seconds');
resolve("Done");
}, 2000);
});
console.log("START");
p().then((data) => {
console.log(data);
});
console.log("END");