【发布时间】:2019-02-02 06:28:51
【问题描述】:
我很难理解 javaScript 中的链式 Promise,所以我决定做一个例子并练习一些代码,这就是我想做的......
- 做一个“繁重的任务”5秒
- 在繁重的任务完成后执行“中等任务”3 秒 成功
- 如果“中等任务”成功到 2 秒的“小”任务
- “小任务”必须显示繁重任务的成功信息
- 如果“中等任务”失败,则执行 1 秒的“错误任务”说明 失败原因
- 在所有这些都在进行的同时执行“其他一些任务......”
var p = new Promise(function(resolve, request) {
setTimeout(function() {
console.log("Inside heavy task...");
resolve("Heavy task was a success");
}, 5000);
})
.then(function(value) {
setTimeout(function(value) {
console.log("Inside medium task...");
resolve(value);
//reject("Medium task failed !");
}, 3000);
})
.then(function(value) {
console.log("Inside small task...");
console.log("From small task : " + value);
})
.catch( function(reson){
setTimeout(function(reason){
console.log("Inside error task...");
console.log("Failed due to "+reason);
},1000);
});
console.log("Some other tasks...");
我知道我的代码是错误的,有人可以纠正这个问题并解释应该如何做。
【问题讨论】: