gpt4 book ai didi

node.js - Node JS 回调无需等待即可执行

转载 作者:太空宇宙 更新时间:2023-11-04 00:10:59 25 4
gpt4 key购买 nike

我有以下执行 GET 调用的函数。我想等待响应然后执行下一步。我的代码如下所示

getListOfChannels : function(token, callback){
var Channels = [];
var options = { method: 'GET',
url: url,
headers:
{
'x-api-key': token } };

request(options, function (error, response, body) {
if (error) throw new Error(error);

var json = JSON.parse(body)
var data = json.MemberEntitlement;
for(var i=0 ; i < data.length ; i++){
if(data[i].Entitled == false){
Channels.push(data[i].ChannelNumber);

}
}
});
callback(Channels[0]);
}

我的回调函数只是打印值

simplePrint : function(arg){
console.log(arg)
}

但是,回调函数仍然不会等待完整响应并打印出 undefined。我应该怎么办。我可以添加隐式等待,但这似乎不是一个好的做法。

最佳答案

我认为您在请求函数调用之后调用回调。它不在 request 范围内,但在 getListOfChannels 范围内。因此,回调是同步运行的。尝试替换:

});
回调( channel [0]);
}


回调( channel [0]);
});
}

关于node.js - Node JS 回调无需等待即可执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49524188/

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