我正在尝试使用一系列项目创建char testResponse[2] = {0x01, 0x90};
unsigned int tmp = (unsigned)testResponse[0] << 8 | (unsigned)testResponse[1];
short result = tmp; // implementation-defined behaviour
printf("%d\n", result); // 400
。所以,如果我像这样创建它可以正常工作
Promise.all
如果我尝试像这样创建Promise.all([
Query.getStuff(items[0]),
Query.getStuff(items[1])
]).then(result => console.log(result))
,则无效
Promise.all
Promise.all([
items.map(item => Query.getStuff(item))
]).then(result => console.log(result))
块在then
之前运行。我错过了什么?
答案 0 :(得分:19)
你应该写
Promise.all(items.map(...))
而不是
Promise.all([ items.map(...) ])
Array#map
返回一个数组,这意味着您最初编写代码的方式,实际上是将多维数组传递给Promise.all
- 如[ [promise1, promise2, ...] ]
- 而不是预期的 - 维度版本[promise1, promise2, ...]
。
Promise.all(
items.map(item => Query.getStuff(item))
).then(result => console.log(result))