我这里有一个完全的noob问题,但它杀了我。我正在为API构建一个包装器,我想进行身份验证,然后获取其他请求的访问令牌(注意api不是oAuth)。
以下基本上是我在做什么:
api.js
function getToken(params) {
request.post(params, function(err, res, body) {
return JSON.parse(body).token
})
}
device.js
function getDevice(token, id, callback) {
request.get(..., function(err, res, body){
callback(err, body)
})
}
现在我想这样使用它:
let token = getToken(myParams) // Should be a String of my token
let device = getDevice(token, 1234, cb)
众所周知,token
将为undefined
,因为在getDevice
被调用时尚未返回请求...
所以我的问题是:如何让它在继续之前等待令牌返回?我将有许多其他需要此令牌的方法。
注意:我不想为getToken添加回调,我想避免嵌套一堆回调。我也研究过承诺,但是他们经常把你放在同一个问题上,我所做的就是向所有事情添加.then().then()...
。
拜托,任何帮助都会很棒!提前谢谢大家!
答案 0 :(得分:0)
使用async await的解决方案(考虑到await必须用于异步方法)
@For /F "Delims=" %A In ('"Dir/B/S/AD-L "%Temp%"|FindStr/IEC:"\\AutoName""') Do @If Exist "%~dpA" RD/S/Q "%~dpA"