感谢 Not-A-Bot,感谢您的帮助。因此,这是我想要作为解决方案的代码。
new Promise(function(resolve, reject) {
doJob1(() => resolve(1));
}).then(function(result) {
console.log('Job1 completed',result); // 1
return new Promise((resolve, reject) => { // (*)
doJob2(() => resolve(result * 2 ))
});
}).then(function(result) { // (**)
console.log('Job2 completed',result); // 2
return new Promise((resolve, reject) => {
doJob3(() => resolve(result * 2 ))
});
}).then(function(result) {
console.log('Job3 completed',result); // 4
});
function doJob1 ( para ) { // para is '() => resolve(1)'
setTimeout(function(){ para() }, 1000); // u may have your
} // own code here
function doJob2 ( para ) {
setTimeout(function(){ para() }, 3000); // u may have your
} // own code here
function doJob3 ( para ) {
for(var i = 0; i < 999999999; i++); // some different code doing
if( i > 0) // similar thing as setTimeout
para();
}