【发布时间】:2023-01-26 01:47:14
【问题描述】:
我正在使用节点和 mongo。我正在尝试使用 netlify 无服务器函数运行一系列并行请求,我正在尝试使用 mongo 记录创建构建。到目前为止我有:
paralellNum = 2;
const filter = { 'Parcel': { $regex: '[0-9]' }, 'UseCode': { $exists: false } };
let records = await collection.find(filter).limit(firstNum).toArray()
console.log('number of records selected from db: ', records.length);
const fetchURL = (obj) => fetch('http://localhost:8888/.netlify/functions/meta1', {
method: 'POST',
body: JSON.stringify(obj),
headers: { 'Content-Type': 'application/json' }
});
let outputArray = [];
for (let i = 0; i < (paralellNum-1); i++) {
const record = records.pop();
const obj = {"_id":record._id,"apn":record.Parcel};
outputArray.push(fetchURL(obj));
}
console.log(outputArray);
我期待输出数组包含构造的获取请求,但我看到的是:
1) [Promise]
0:
Promise {[[PromiseState]]: 'pending', [[PromiseResult]]: undefined,
Symbol(async_id_symbol): 59, Symbol(trigger_async_id_symbol): 58}
length:1
为什么我得到的是承诺而不是预期的数组?
【问题讨论】:
-
fetch是一个异步函数,所以它返回一个Promise。
标签: javascript node.js asynchronous