Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将已解析的承诺转换为JSON对象_Javascript_Node.js_Json_Promise - Fatal编程技术网

Javascript 将已解析的承诺转换为JSON对象

Javascript 将已解析的承诺转换为JSON对象,javascript,node.js,json,promise,Javascript,Node.js,Json,Promise,我目前正在使用JS代码中的promises,我有以下代码从数据库中提取数据: function getRoomCodes(){ return new Promise(function(resolve, reject){ conn2.db.collection("RoomData").find().toArray( function(err, data) { if (err) { // Reject the

我目前正在使用JS代码中的promises,我有以下代码从数据库中提取数据:

function getRoomCodes(){
    return new Promise(function(resolve, reject){
        conn2.db.collection("RoomData").find().toArray( function(err, data) {
            if (err) {
            // Reject the Promise with an error
            return reject(err);
            }
   
            // Resolve (or fulfill) the promise with data
            return resolve(data);
        });
    });
}

然后它在这里被称为:

let roomCodes = getRoomCodes();
roomCodes.then(function(){
    console.log(roomCodes);
});
在控制台中记录roomCodes对象时,它会记录以下内容:

 Promise { [
       { _id: 60b536474c17c40054d25546,
          roomname: '175f1fa1-b9ee-4952-a17d-214e46b4ba7c',
          RoomData:
           '9849ddae-3a2e-42a5-940b-35f5624486d5.png,My Table,Misc.,700,1770,987,1,1,7d122393-5383-4ff6-8533-bc5137cadd40.png,My Chair,Chair,710,1802,935,1,1,57e6d639-58a7-42d7-b83b-f62317caa89b.png,My Bookshelf,Misc.,960,1966,712,1,1,5dacbb8a-305b-4ae8-ad81-3f76d94296ac.png,My Couch,Chair,950,1830,787,1,1,22b9dead-af96-4b9e-8047-0fe1e32754cf.png,My Lamp,Misc.,940,1789,728,1,1,a157852d-15ac-4a22-8f61-03fc50f2aa7a.png,My Plant,Misc.,1000,1706,770,1,1,480eaf3c-ecfc-4e98-bfde-5c72df09c3a1.png,My Dresser,Misc.,1000,1619,799,1,1,f6428acc-fe78-4b9c-bc35-042358bd2695.png,My Bed,Chair,990,1545,800,1,1,' },
        { _id: 60bd3c5428a31c005ab3dfb9,
          roomname: '38185b40-d950-408e-8d76-6b0a82ad69d0',
          RoomData:
           '0908c8dc-b03e-4267-b945-5bba5436a6eb.png,Object,Hangable,1000,1996.50,893.50,1,1,abc7b1f0-8bb4-488d-b600-fbbdbd73c279.png,My Table,Misc.,990,1774,990.50,1,1,dd131f21-12be-4575-88ac-1be2d83bd356.png,My Chair,Chair,1000,1802,935,1,1,47cf88ac-e94b-4bcb-ad1f-3df4dce6c0eb.png,My Bookshelf,Misc.,960,1966,712,1,1,a035c289-0e36-4329-869f-d6df091e4b9d.png,My Couch,Chair,950,1830,787,1,1,e62fdbd6-32b3-4f3d-b90a-2d6b8407cc83.png,My Lamp,Misc.,940,1789,728,1,1,e8586b73-4ce3-443b-8891-032a4529f77c.png,My Plant,Misc.,1000,1706,770,1,1,fa139aec-ed59-4837-842b-82bcf29cb70d.png,My Dresser,Misc.,1000,1619,799,1,1,99504ac7-158a-405b-9d52-41197a8bcb8a.png,My Bed,Chair,990,1545,800,1,1,' } 
] }

如您所见,这是一个promise对象,其中包含所有JSON数据。问题是,当我阅读有关Promise对象的文档时,我找不到如何从Promise对象中提取数据。我有什么办法可以做到这一点吗?提前感谢您的帮助

您的
then()
回调需要有一个参数,以便将数据传递到回调中,例如
then(函数(数据)
然后您只需从变量访问数据您的数据库API是什么?它没有promise接口吗?@Simon Ward,如果您没有传递回调,mongodb驱动程序将返回promise对象