如何存根JS中的嵌套promise



hi StackOverflow社区我在截取这段代码进行单元测试时遇到问题它是对mongo的嵌套promise调用,用于创建用户,然后从数据库中检索用户

return database.collection('users').insertOne(request.body) .then(response => database.collection('users') .find({_id:response.insertedId }) .limit(1) .next());

你能告诉我最好的方法吗我最好将调用分离到它们自己的函数中,还是。。。

感谢

如果您一次创建一个用户,请使用create方法。它返回创建的对象
return database.collection('users').create(request.body)

如果我正确理解你,我会把它放在这样的函数中:

const dbOperations = {
saveUser: (request) => database.collection('users').insertOne(request.body)
.then(response => database.collection('users')
.find({_id:response.insertedId })
.limit(1)
.next());
}

然后你可以像一样重新申报

dbOperations.saveUser = (request) => Promise.resolve(request.body);

这就是你想要的吗?

最新更新