我有几个承诺,我试图使用Promise.all异步解决,如下所示:
model1.find({ _id: params.id }).limit(1).
lean().then((data) => {
let promises = [];
let p1 = model2.find({ _id: '123' }).limit(1).lean().then((data) => {
return data;
})
promises.push(p1);
let p2 = model3.find({ _id: '789' }).limit(1).lean().then((data) => {
return data;
})
promises.push(p2);
let p3 = model4.find({ _id: '678' }).limit(1).lean().then((data) => {
return data;
})
promises.push(p3);
Promise.all(promises).then(data => {
data.forEach((entry) => {
let keys = Object.keys(entry);
result[keys[0]] = entry[keys[0]];
});
response.json(result);
})
})
如何使用sinon存储上述代码并为它们编写单元测试? 或者我可以用来有效地对上述代码进行单元测试的任何其他库