私は約束をよく知らないです。 promise-callからpromise-implementationを隠したいと思います。約束とは別にお約束します。
例:私はこの約束を呼び出す
function findFriends(req, res) {
const promiseFriend = MyFriendes.find({}).exec(); //call promise
if(friends.length===0){
logger.warn('No friendsavailible');
}else if(friends === undefined){
res.status(500).json({
error: 'INTERNAL ERROR'
});
}else{
res.status(200).json({
friends: friends
});
}
}
と私は同じファイル内の私の約束を解決しますが、同じ機能ではありません 、。
promiseFriend
.then(function(friends){
return friends;
})
.catch(function(err){
logger.error({error:err});
});
ここで、「promiseFriend」は定義されていません。 promise-callとpromise-resolutionをどのように分けることができますか?
もっとコードを投稿できますか?どこで 'findFriends'と呼んでいますか?そしてどこを正確に約束していますか? 私は約束を伝えることができます - あなたのコードのどこかで 'then'を呼んでいない限り、約束は解決されません。そして、解決の後、あなたはあなたが望むように同じ回数 ''を呼び出すことができ、同じ値を返します(既に解決されています)。 promiseFriendが定義されていないことは、約束とは何の関係もありません。約束を呼んでいる場所では、この変数は定義されていません。 – SzybkiSasza