아이고오
40
2019-06-05 16:56:31 작성 2019-06-05 16:57:00 수정됨
3
153

node 동기 비동기 처리 도와주세요 ㅠㅠ


router.get("/test3", function(req, res, next){

const tt = findOneEmail();

console.log("55555555555555")

res.send("+++" + tt);

})


const findOneEmail = () =>

{ let a, b; models.member.findOne

({ where: { mem_email: "email" } })

.then(result =>

{

a = result.mem_email

b = "1111" console.log(a + "333");

console.log(b + "4444444444"); return "ㅁ" + a; })

.catch(err =>{ //return err; })

console.log(a + "/////////////1111")

console.log(b + "222222"); }


지금 1, 2, 5, 3, 4 순서로 출력됩니다 ㅠㅠ

return 으로 result값 받아서 router에서 출력할수 있는 방법 없을까요??

0
0
  • 답변 3

  • 한우소불고기
    11
    2019-06-05 17:39:13
     findOneEmail().then(result=>{

    });

     return new Promise((resolve, reject)=> {
            resolve(값);
        });


    이렇게 하시면 될듯 합니다. 


    0
  • 쿵따리쿵쿵따
    241
    2019-06-05 19:14:46

    프로미스로 한다면 윗분처럼, 콜백으로 한다면 이렇게?


    findOneEmail( (result) => {

      console.log('55555');

      res.send("+++" + result);

    })


    ....

    const findOneEmail = (callback) =>

    { let a, b; models.member.findOne

    ({ where: { mem_email: "email" } })

    .then(result =>

    {

    ....

    return callback("ㅁ" + a)})

    .catch(err =>{ //return err; })



    0
  • 북조선개발자
    45
    2019-06-05 21:31:44
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.