如何使用async.series来等待响应
How to use async.series to wait for response?
我昨天发布了这个问题:https://stackoverflow.com/questions/25919099/how-do-i-use-callback-to-solve-authentication-issue
基本上,我想等待登录请求的响应,然后转到签入请求。否则,签入请求给出401,这是身份验证错误。
现在我正在尝试使用一些库,如step、wait.fo或async来等待响应。使用async.series,我正在尝试此代码,但它在function two()
处出现unexpected token function
错误
function checkin() {
async.series[(
function one() {
agent1
.post(login-url)
.type('form') // send request in form format
.send({
username: username,
password: password
})
.end(function(err, res) {
console.log("response for login is ", res.statusCode, " ", res.message);
});
}
function two() {
for (var i = 0; i < count; i++) {
if (validatePayment(rows[i].Payment) == true && validateMobile(rows[i].Mobile) == true) {
console.log("inside validation");
agent1
.post(checkin-url)
.send({
phone: rows[0].Mobile,
outlet: outletID
//outlet: "rishi84902bc583c21000004"
})
.end(function(err, res) {
console.log("response for checkins is ", res.statusCode, " ", res.message);
});
)];
}
}
}
// });
}
由于试图在带括号的表达式中定义多个函数,因此会出现意外的标记错误。在你的控制台上试试这句话:
(function one() {} function two() {})
这里发生的事情是,你试图访问async.series,就像它是一个数组或其他什么:
async.series[ ...index here... ]
然后,对于索引,您传递一个表达式:
async.series[ (...) ];
该表达式错误地包含两个函数定义:
async.series[ ( function one() { ... } function two() { ... } ) ]
带括号的表达式应该只返回一个值。两个函数将竞争成为该返回值,因此无效。但你所做的一切都是错误的。
我认为你真正的意思是调用async.series
,并传递functions
的array
。。。
async.series( [ function one() {...}, function two() {...} ] );
您更新的代码可能看起来像这个小提琴。
相关文章:
- 在单击事件时更新主干模型,并在更改位置之前等待响应
- 如何使用 Ajax 一次仅按顺序发布数组的 1 个值,并在继续之前等待响应
- 如何在 $.post jQuery 中等待响应
- 如何在 ajax 中调用函数到 php 函数并等待响应
- Ajax在返回值之前等待响应
- 为什么这个呼叫在继续之前没有等待响应
- 如何在最里面的循环等待响应时延迟嵌套迭代
- 如何使用async.series来等待响应
- Angularjs$http等待响应
- 当使用带有单个套接字的httpAgent时,它会在发送下一个请求之前等待响应吗?
- Node.js:服务器等待响应和超时
- Google Maps放置API——如何让代码等待响应
- iMacros可以单击按钮而不等待响应吗?
- AngularJS控制器等待响应(或设置回调)
- Chrome扩展运行时.Sendmessage等待响应
- Node.js (node-pg)或C (libpq) -执行PostgreSQL请求而不等待响应
- 在JavaScript中异步加载配置,如何最好等待响应
- 当我们进行ajax调用并等待响应并阻塞页面时显示一个旋转器
- 运行jQuery函数.Ajax等待响应的时间足够长
- js:将记录保存到Ember.数据,等待响应后再显示