gpt4 book ai didi

javascript - NODE.JS、MONGOOSE、JAVASCRIPT - 来自 promise 的值甚至不返回 null 或 undefined

转载 作者:行者123 更新时间:2023-11-29 23:25:46 24 4
gpt4 key购买 nike

你好,我想知道我的代码背后的错误,

所以首先我有这个 db.js 代码:

/** check if may fb_id */
module.exports.checkfbid =
async(model, query) => {
return new Promise((resolve, reject) => {
if (!query) {
query = {};
}
console.log("pumasok sa checkfbid"+ JSON.stringify(query));
console.log("pumasok sa checkfbid" + query);
model.find(query)
.then(res => {
console.log("hindi pa napapalitan: "+res);
if(null){
resolve(null);
}else{
console.log("untouched: " + res);
resolve(res);
}

})
.catch(err => {
console.log("rejected si branch" + err);
reject(err);
console.log(err);
throw err;
});
});
}

和这个 controller.js 代码

const id_result = await usersessionDB.checkfbid(model, {fb_id: id});// store sa id_result
console.log("id_result have: " + id_result);// log kung may nkukuha na laman
if (id_result === null) {// kung null si id_result, create ka new user
...
}
} else {// else kung hindi null si id_result
...
}

编辑! console.logs 的示例输出

sample output

请忽略外国的、不可读的评论。如你看到的,console.log("pumasok sa checkfbid"+ JSON.stringify(query)); 显示来自 Controller 的查询,但是当它进入 promise 查询时,我使用了

console.log("hindi pa napapalitan: "+res);
if(null){
resolve(null);
}else{
console.log("untouched: " + res);
resolve(res);
}

它不显示东西!?我已经被困了将近 3 个小时。

总结一下,我的问题是,如果 promise 返回的值甚至不返回 null 或 undefine,我如何定义它是 null 还是 undefine?它只是空白吗?还是相反,它返回一个值,但返回什么样的值?空白的?谢谢。

最佳答案

我不确定你是否有意这样做,但你正在运行针对 null (if(null) {...) 的条件语句,它将始终产生错误的 react 。

您是说 if(!res) {... 吗?

更好的方法是删除 if 语句并使用:解决(res?res:null)

关于javascript - NODE.JS、MONGOOSE、JAVASCRIPT - 来自 promise 的值甚至不返回 null 或 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49411598/

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