Вам нужно вернуть какой-то результат в свои обещания, иначе они не будут переданы в цепочку .then()
. В вашем случае, если вы хотите использовать Promise
конструкторы, вам следует явно вызвать resolve()
с любыми результатами, которые вы хотите передать дальше, например:
let dbconnect = new Promise((rs, rj)=> {
console.log('dbconnect');
require('mongodb').MongoClient.connect("mongodb://localhost:27017/mydb", { useNewUrlParser: true }, () => {
resolve()
})
}),
call = new Promise((rs, rj) =>{
console.log('fetch');
fetch(link).then(resolve)})
});
Но, как уже упоминали другие пользователи, вам, вероятно, не нужно заключать fetch()
и MongoClient.connect()
(начиная с версии 2.0) в Promise
s, поскольку они уже возвращают обещания. Так что вы можете упростить это до:
let dbconnect = require('mongodb').MongoClient.connect("mongodb://localhost:27017/mydb", {useNewUrlParser: true}),
call = fetch(link)
Promise.all( [dbconnect, call] ).then...