gpt4 book ai didi

javascript - 使用 Promises 时卡在变量上的最佳实践

转载 作者:数据小太阳 更新时间:2023-10-29 05:45:25 25 4
gpt4 key购买 nike

<分区>

我是 Promises 的新手,我想知道在链中向下移动时保持变量的最佳实践是什么?

通过 Promise 连接到 MongoDB 非常简单:

connectToMongoDB(data).done(function(db) {

var collection = db.collection('test_inserts');
// do more stuff here

});

但是如果我必须连接到两个不同的数据库会怎样呢?

connectToMongoDB1(data1).then(function(db1) {

return connectToMongoDB2(data2);

}).done(function(db2) {

var collection = db1.collection('test_inserts');
// ERROR: db1 is undefined

});

这个错误非常有道理。但是我如何在不改变我的 connectToMongoDB2() 函数的情况下转发 db1,因为我想保留 connectToMongoDB2() 和我所有的 promise 通用?

我的意思是,我可以将存储所有相关内容的对象包裹起来,但这看起来有点古怪:

var relevantStuff = {};

connectToMongoDB1(data1).then(function(db1) {

relevantStuff.db1 = db1;
return connectToMongoDB2(data2);

}).done(function(db2) {

var collection = relevantStuff.db1.collection('test_inserts');
// do more stuff here

});

什么是最佳实践?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com