使用Promises设置Sequence to Javascript函数

使用Promises设置Sequence to Javascript函数,javascript,promise,Javascript,Promise,使用承诺设置javascript函数的序列 下面提到的代码给出了以下输出,即 3. 2. 一, 而不是1 3 2 let functionOne = function () { return new Promise(function(resolve,reject){ One(); resolve(); }); } let funct

使用承诺设置javascript函数的序列

下面提到的代码给出了以下输出,即 3. 2. 一,

而不是1 3 2

    let functionOne = function ()
    {
        return new Promise(function(resolve,reject){            
            One();
            resolve();              
        });
    }

    let functionTwo = function ()
    {
        return new Promise(function(resolve,reject){            
            Two();
            resolve();              
        });
    }

    let functionThree = function ()
    {
        return new Promise(function(resolve,reject){            
            Three();
            resolve();              
        });
    }



function One()
{
    setTimeout(function() {
  console.log(1);
  },3000);

}
function Two()
{

  console.log(2);
}

function Three()
{

  console.log(3);
}

functionOne().then(function(){
    return functionThree();
}).then(function(){
    return functionTwo();
});
我们如何设置顺序,我哪里出错了。 .......... ....... ......
.

你不是在等一个人完成

让functionOne=function{//这里不需要新的承诺,因为我们返回了一个承诺 返回一个; } 设functionTwo=函数{ 返回新的Promisefunctionresolve,拒绝{ 二 决定 }; } 设函数三=函数{ 返回新的Promisefunctionresolve,拒绝{ 三 决定 }; } 函数一{//返回要等待的承诺 返回新的承诺{ setTimeoutfunction{ console.log1; 决定 }, 3000; }; } 功能二{ console.log2; } 功能三{ 1.log3; } 函数一{ 返回函数三; }.Then函数{ 返回函数二;
};倒过来?功能三,然后是功能二,然后是功能一?允许吗?你不是在等一个finish@Jaromanda然后函数应确保承诺已解决。它已解决。。。但您不会等待setTimeout启动—承诺不会因为异步代码是异步的就知道它asynhronous@jaromanda假设我们不能修改一个函数,那么在这种情况下需要做什么呢