【发布时间】:2018-04-27 02:09:55
【问题描述】:
<!-- begin snippet: js hide: false console: true babel: false -->
async function query(num) {
let data = await request(url, {num})
console.log(num, data)
}
[1, 2].forEach(function(item){
let _self = this
(function(item) {
setTimeout(() => {
_self.query(item)
console.log(item)
}, i)
})(item)
})
// if the server response
server.get('*', function(req, res) {
let num = req.num
res.send(num)
})
异步查询响应是: // 1, 2 // 2, 1
但期望响应是 // 1, 1 // 2, 2 我怎样才能得到想要的结果? 请求参数与返回结果的一致性如何?
【问题讨论】:
-
您缺少一个分号(或几个分号),这将导致意外行为或错误。
-
IIFE 的目的是什么。似乎非常不必要。
let _self = this很奇怪。
标签: javascript asynchronous foreach