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');