gpt4 book ai didi

javascript - Node.js - 在另一个方法完全执行后调用一个方法

转载 作者:搜寻专家 更新时间:2023-10-31 22:59:37 24 4
gpt4 key购买 nike

我有两个简单的方法:

 function do(x,y){
if(x){
XHR1().success();
}
if(y){
XHR2().success();
}
}

function done(){
return something;
}

现在我只想确保在 do() 完成时调用 done()(**do() 方法包含对Mysql数据库)

我怎样才能做到这一点?**

显然这不会按顺序放置这些方法:

do(x=1,y=1);

done(); //this can run also if do() has not finished yet

所以我尝试了:

function do(x,y,_callback){
if(x){
XHR1().success();
}
if(y){
XHR2().success();
}

_callback();
}

function done(){
return something;
}

do(x=1,y=1,done()); // this won't work the same cause callback is not dependent by XHR response

这就是我用于 promise 的内容 https://github.com/tildeio/rsvp.js/#arrays-of-promises

最佳答案

i know about promises but i can't get how to put it in sintax

假设 XHR() 确实返回了一个 promise,那么您的代码应该是这样的:

function do(x,y) {
var requests = [];
if (x)
requests.push( XHR1() );
if (y)
requests.push( XHR2() );
return RSVP.all(requests);
}
function done(){
return something;
}

do(1, 1).then(done);

关于javascript - Node.js - 在另一个方法完全执行后调用一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21912749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com