function requestOrderAPI(name,floor){
let re = '';
let url = 'http://此处省略/reservations/plus1?name=' + qs.escape(name) +'&location='+floor;
http.get(url,(res)=>{
res.setEncoding('utf8');
let rawData = '';
res.on('data', (chunk) => rawData += chunk);
res.on('end', () => {
re = rawData;
});
});
return name + ':' + re;//异步的原因拿不到re的值
}
我想让requestOrderAPI(name,floor)这个函数返回re。有什么好的办法吗?应该怎么做哪?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
同步思维转异步的问题。。。
如果代码写成这样你就能看明白了
javascript部分中大部分方法都是异步回调的方法,你想要的功能只能通过callback去实现。或者通过一些
promise,co,async/await之类的方式去优化一下异步回调,但是本质上他依然是一个异步回调。这个是解决不了的。这个是语言特性。由于request没有promise对象,所以在这里构造一个promise对象。