2017-10-20 7 views
0

node.js(express.js)を使用していますが、その関数を最初に完全に実行してからスクリプトを実行します。私はこのコードを持っている 、 Node.js - 関数が終了するのを待ってからさらに処理する

var reg = register(otp) 
if(reg.error){ 
return res.json(error:true,message:reg.message); 
} 

レジスタ(OTP)のような関数の戻りJSONオブジェクト ある

{エラー:真、メッセージ:「ユーザーが既に登録されている」}

私は、コードを実行するとエラーをログに記録します。 未定義のerrorプロパティを読み取ることができません。

今すぐどうぞ。

答えて

0

登録は非同期で行う必要があります。 JavaScriptで非同期プログラミングがどのように機能するかをまず理解する必要があると思います。詳細については、この記事を参照してください。https://blog.risingstack.com/node-hero-async-programming-in-node-js/

+0

ありがとうございます、ありがとうございます、私は確かにYouTubeで非同期のチュートリアルをWebで特に行くでしょう。私はupvoteしたいが、私は10の評判ポイントがあるので、私はできません。ごめんなさい! –

0

この非同期コールバックを使用することができます。この方法では、関数の登録が完了したときにのみ実行されます。

var reg = register(otp, x=> { 
if(x.error){ 
return res.json(error:true,message:reg.message); 
} 

}) 

register(otp,callback) { 
... your code here ... 
callback(result); 
} 
+0

ありがとう私はそれを試してみましょう!そして、あなたに知らせてください。 –

関連する問題