我是javascript的新手。 我有两个异步函数,但我希望以某种顺序实现,因为第一个函数中的变量将在第二个函数中使用。 以下代码将更具体地解释:
function1(){
//asynchronous
//generate some variables(a,b)
}
function2(){
//asynchronous
//use a,b
}
所以,如果我只是让它们以这种方式实现,有时候a,b一段时间内都没有在function2中使用过(有些时候它们是),我的猜测它们是并行实现的,有些时候function1完成得更快
我知道.then()会返回一个承诺,让一个人先跑,所以我想知道是否有某种方式:
funtion1().then(function2());
首先使用funtion1实现,然后执行function2 任何建议都表示赞赏,如果我误解了某些内容,请告诉我。
答案 0 :(得分:1)
.then
是Promise函数。
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