Javascript 承诺的例子,然后
最近,我听到了“承诺”,并试图了解它是如何工作的,并说。。。 它不好用Javascript 承诺的例子,然后,javascript,Javascript,最近,我听到了“承诺”,并试图了解它是如何工作的,并说。。。 它不好用 函数示例(){ 返回新承诺(函数(){ var i=0; 而(i Promises获得两个参数:resolve&reject,这将是在上定义的要执行的函数。然后()&.catch()。因此,要能够打印“完成”或“错误”,您应该执行以下操作: function example(condition){ return new Promise(function(resolve, reject){ var i=0;
函数示例(){
返回新承诺(函数(){
var i=0;
而(i
Promises获得两个参数:resolve&reject,这将是在上定义的要执行的函数。然后()&.catch()。因此,要能够打印“完成”或“错误”,您应该执行以下操作:
function example(condition){
return new Promise(function(resolve, reject){
var i=0;
while(i<5000){console.log(i);i++;}
if(condition){
resolve();
} else {
reject();
}
})
}
example(true).then(function(){console.log('done')},function(){console.log('error')});//Prints 'done'
example(false).then(function(){console.log('done')},function(){console.log('error')});//Prints 'error'
函数示例(条件){
返回新承诺(功能(解决、拒绝){
var i=0;
而(i
函数示例(){
返回新承诺(功能(解决、拒绝){
var i=0;
而(i<5000){
控制台日志(i);
i++;
}
决议(i);
})
}
示例()
.那么(
函数(){
console.log('done')
},
函数(){
console.log('错误')
});
类似于
例:
函数示例(){
返回新承诺(功能(解决、拒绝){
试一试{
var i=0;
而(i<5000){
console.log('process',i);
i++;
}
解决(i);//如果,解决或拒绝。。。
}捕获(错误){
拒绝(错误);
}
});
}
log('will call the promise');
示例()。然后(函数(成功){
console.log('调用方承诺结果',成功);
}).catch(函数(错误){
log('if some problem,catch',error.toString());
});
log('此处,将在承诺解决之前或之后');
Promise(function(resolve,reject){
而不是Promise(function(){
并且在Promise函数的主体中,在循环之后(或某个地方)放一个resolve();
基本上。这两个匿名函数不是刚刚定义的,而且从未实际执行过吗?非常感谢,问题已经解决了:)谢谢你友好的回答……现在我想我答对了:)是的,现在我意识到这正是我错过的。谢谢你友好的回答。
function example() {
return new Promise(function(resolve, reject){
try{
var i = 0;
while(i < 5000){
console.log('proccess',i);
i++;
}
resolve(i);// an if, to resolve or reject...
} catch(error) {
reject(error);
}
});
}
console.log('will call the promise');
example().then(function(success){
console.log('caller promise result', success);
}).catch(function(error){
console.log('if some problem, catch',error.toString());
});
console.log('Here, will be before or after the promise resolves');