我如何使用.then()在javascript中使一个接一个的函数实现

时间:2017-03-27 16:36:32

标签: javascript asynchronous

我是javascript的新手。 我有两个异步函数,但我希望以某种顺序实现,因为第一个函数中的变量将在第二个函数中使用。 以下代码将更具体地解释:

function1(){
//asynchronous
//generate some variables(a,b)
}
function2(){
//asynchronous
//use a,b
}

所以,如果我只是让它们以这种方式实现,有时候a,b一段时间内都没有在function2中使用过(有些时候它们是),我的猜测它们是并行实现的,有些时候function1完成得更快

我知道.then()会返回一个承诺,让一个人先跑,所以我想知道是否有某种方式:

funtion1().then(function2());

首先使用funtion1实现,然后执行function2 任何建议都表示赞赏,如果我误解了某些内容,请告诉我。

1 个答案:

答案 0 :(得分:1)

.thenPromise函数。

function function1 () {
    return new Promise((resolve) => {
        console.log('Do your stuff here');
        const a = 1;
        const b = 2;
        resolve({ a, b });
    });
}

function function2 ({ a, b }) {
    console.log('Do your stuff here', a, b);
}

function1().then(function2)
// Do your stuff here
// Do your stuff here 1 2