0
私のコードではマルチ・プロミスをどのように使用できますか?私は2番目の約束のための第二のawaitを使用したいときにあなたが見る場合nodej複数の使用方法をお待ちしております
function ReadJSONFile() {
return new Promise((resolve, reject) => {
fs.readFile('import.json', 'utf-8', (err, data) => {
if (err) reject(err);
resolve(JSON.parse(data));
});
});
}
const Get_Image = async (Path) => {
Child_Process = exec('node get_image.js "'+Path+'",(err,stdout,stderr) =>
return new Promise((resolve,reject) => {
resolve(stdout);
});
}
const Catch = async() => {
let get_json_file = await ReadJSONFile(); // this works perefectly
for(var i=0;i< Object.keys(get_json_file);i++) {
console.log(await Get_Image(get_json_file[i].image_path); //but this throw error
}
}
を得ている理由の約束を返すが、didn'tのエラーをスロー私のコードは、私は価値、何の違いで新しい約束を返したのですか?あなたは返されたすべての子プロセスを返しました、なぜこれが正しくないのですか? –
あなたは何も返さないので、あなたは未定義に返す約束を返しませんでした。 exec関数が非同期でコールバックを受け取ると、この関数からの戻り値はあなたの同期コードからずっと離れています。私は、あなたがありがとう、 –
を参照してください –