1
を扱う私は、次のシナリオがあります:私はやって探しています何リターンのみ最も内側の約束の漁獲量など
savePicture(newPicture, fileData){
return compressionUtil.makePictureAndThumbnail(newPicture).then((data) => {
let writeBig = fsUtil.writeFileToDisk(pictureFileName, data[0])
let writeSmall = fsUtil.writeFileToDisk(thumbnailFileName, data[1])
return Promise.all([writeBig, writeSmall]).then(() => {
let picToSave = {
uploaderUsername: fileData.username,
directory: fileDirectory,
fileName: fileName,
tags: fileData.tags,
description: fileData.description,
droneTaken: fileData.droneTaken,
isGenuine: isGenuine,
metadata: metadata
}
return Picture.create(picToSave)
})
})
}
をそう
savePicture(newPicture, fileData){
return compressionUtil.makePictureAndThumbnail(newPicture).then((data) => {
let writeBig = fsUtil.writeFileToDisk(pictureFileName, data[0])
let writeSmall = fsUtil.writeFileToDisk(thumbnailFileName, data[1])
return Promise.all([writeBig, writeSmall]).then(() => {
let picToSave = {
uploaderUsername: fileData.username,
directory: fileDirectory,
fileName: fileName,
tags: fileData.tags,
description: fileData.description,
droneTaken: fileData.droneTaken,
isGenuine: isGenuine,
metadata: metadata
}
return Picture.create(picToSave)
}).catch((err)=>{/*Handle promise.all error here*/})
}).catch((err)=>{/*Handle makePictureAndThumbnail error here*/})
}
しかし時のようなcompressionUtil.makePictureAndThumbnail()
とPromise.all([writeBig, writeSmall])
の可能約束拒否を処理しています同じ時刻にsavePicture()
はPicture.create()
の約束.then()と.catch()だけを返します。
私が考えていることは、巨大な新しいプロミス(解決、拒否)=> {}ですべてを包み込むことだと思っていますが、おそらくそれはひどい習慣です。
入力していただければ幸いです。ありがとう。
こんにちは、あなたは試してみてくださいあなたの質問をより多くするためにMWE(http://stackoverflow.com/help/mcve)を提示するあなたの答えを得るチャンスを増やしてください。 – woshilapin