История изменений
Исправление x3al, (текущая версия) :
slowProcedure=function(x, y){
console.log('First run *before* log(foo)');
return x+y;
}
new Promise(function(resolve, reject){
try{
console.log('Not really async')
resolve(slowProcedure(10, 20))
}catch(e){
reject(e)
}
})
.catch(function(e){console.log("first: " + e)})
.then(function(x){
return new Promise(function(resolve, reject){
try{
resolve(x + slowProcedure(30, 40))
}catch(e){
reject(e)
}
})
})
.catch(function(e){console.log("second: " + e)})
.then(function(x){console.log(x)})
console.log("foo")
Первый запуск slowProcedure — до console.log(«foo»), что очевидно.
Исходная версия x3al, :
slowProcedure=function(x, y){
console.log('First run *before* log(foo)');
return x+y;
}
new Promise(function(resolve, reject){
try{
console.log('Not really async')
resolve(slowProcedure(10, 20))
}catch(e){
reject(e)
}
})
.catch(function(e){console.log("first: " + e)})
.then(function(x){
return new Promise(function(resolve, reject){
try{
resolve(x + slowProcedure(30, 40))
}catch(e){
reject(e)
}
})
})
.catch(function(e){console.log("second: " + e)})
.then(function(x){console.log(x)})
console.log("foo")
Первый запуск slowProcedure — до console.log, что очевидно.