2017-12-11 2 views
-1
var job = new cronJob('* * * * * *', function() { 
    Draft.find().then(data => { 
     var finalData = data; 
     finalData.forEach(function(item2) { 
      if (item2.scheduledTime === 'now') { 
       finalData.forEach(function (item) { 
        var psms = { 
         phoneno: item.senderdata, 
         sender: item.senderName, 
         message: item.message 
        } 
        var obj = psms; 
        var finalpostsms = obj.phoneno.split("\n").map(s => ({ ...obj, 
         phoneno: +s 
        })); 
        Profsms.bulkCreate(finalpostsms).then(function (data) { 
         if (data) { 
          console.log("successfully moved in profsms mysql"); 

         } else { 
          console.log("failed"); 
         } 
        }) 
       }); 
      } else { 
       console.log('Better you be in drafts..manual input'); 
      } 
      //delete from draft 
      if (item2.scheduledTime === 'now') { 
       Draft.findOneAndRemove({ 
        _id: item2._id 
       }, function (err, employee) { 
        if (err) 
         console.log('err'); 
        console.log('Successfully deleted from draft'); 
       }); 
      } else { 
       console.log('You cant delete from drafts hahaha because no sendnow statement'); 
      } 
     }); 
    }); 
}, function() { 
    console.log('DelCron Job finished.'); 
}, true, 'Asia/Calcutta'); 

위의 코드는 비동기 적으로 작동합니다.nodejs가 동 기적으로 작동하도록 설정하는 방법은 무엇입니까?

위의 코드를 동기식으로 사용하려면 몇 가지 답변이 필요합니다. 나는 JS 개발을위한 초보자입니다

비동기 대기가 가능합니까? 내가 비동기 코드를 작성하는 방법을 몰라.

+2

설명서를 찾고 있습니다. – SLaks

+0

당신은 대답을 게시합니까? 위의 코드를 동기식으로 사용하려면 매우 유용 할 것입니다. –

+0

[재개하기 전에 해결할 JavaScript 약속을 기다리는 방법?] (https://stackoverflow.com/questions/28921127/how 자바 스크립트 - 약속을 재개하기 전의 약속을 기다리는 것) –

답변

-1

귀하의 콜백이 비동기 샘플 코드를 기다리고있다

async function(){ 
    let data = await Draft.find(); 
    ...process data; 
} 
+0

그것의 매개 변수 "비동기 함수()"근처에 구문 오류가 표시 내 질문 코드를 편집 할 수 있으며 전체 답변을 게시하면 정말 도움이 될 것입니다 :) –

+0

@MohamedSameer :'async'를 지원하는 Node 버전을 실행해야합니다. – SLaks

+1

@MohamedSameer : 우리는 당신을 위해 당신의 기능을 쓰지 않을 것입니다. 코드를 작성하는 방법을 배워야합니다. – SLaks

-1

해야합니다, 당신은 필요에 따라 수정할 수 있습니다. 하지만 먼저 비동기 구문을 지원하는 Node를 사용해야합니다. 나는 노드 8 LTS가 이미 async/await 기능을 가지고 있다고 믿는다.

function get() { 
// your db code block 
return Promise.resolve(7); 
} 

async function main() { 
    const r = await get(); 
    console.log(r); 
} 

main(); 
+0

이 작동하지 않습니다. '( –

+0

어떤 노드 버전을 사용합니까?이 샘플 코드를 사용하고 터미널에서 실행합니까? –

+0

예 8.9.1이 작동하지만 위의 코드는 작동하지 않습니다. –

관련 문제