我想在函数执行完成后进行下一步迭代。但是,循环在函数完全执行之前进行迭代。我使用过异步/等待。但运气不好。
function getdata(a,b)
{
var somevalue = '';
request(req,function(){
//somecode
//assign value to 'somevalue'
});
return somevalue;
}
function abc()
{
var value = '';
while(value!=='x')
{
value = getdata(a,b);
}
}
//I've tried this way
async function getdata(a,b)
{
var somevalue = '';
request(req,function(){
//somecode
//assign value to 'somevalue'
});
return somevalue;
}
async function abc()
{
var value = '';
while(value!=='x')
{
value = await getdata(a,b);
}
}
最佳答案
使用仅在执行完成后才返回的回调函数
function getdata(a,b, callback)
{
var somevalue = '';
request(req,function(){
//somecode
//assign value to 'somevalue'
callback(someValue);
});
}
var value = '';
function abc()
{
getdata(a,b , function(data) {
value = data:
if (value != 'x)
abc();
});
}
abc();
关于javascript - 如何在node js中的while循环中等待函数完全执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58199112/