1
我有以下任務鏈,我想在上一個任務中訪問變量decoder
,但在更早的任務中創建。如何訪問鏈中前一個任務返回的變量?
create_task(file->OpenReadAsync()).then([](IRandomAccessStream^ inStream) {
return BitmapDecoder::CreateAsync(inStream);
}).then([localFolder](BitmapDecoder^ decoder) {
return localFolder->CreateFileAsync("map.png", CreationCollisionOption::ReplaceExisting);
}).then([](StorageFile^ outFile) {
return outFile->OpenAsync(FileAccessMode::ReadWrite);
}).then([](IRandomAccessStream^ outFileStream) {
return BitmapEncoder::CreateAsync(BitmapEncoder::PngEncoderId, outFileStream);
}).then([](BitmapEncoder^ encoder) {
BitmapPixelFormat pixelFormat = decoder->BitmapPixelFormat; // how do I make decoder available here?
// Do stuff that uses encoder & decoder
});
1.那傷害了我的眼睛,2.那不是C++,它是C++/CLI –
關於如何減少傷害你的眼睛的任何建議? – Curyous
你認爲你的好處是如何將它鏈接起來?爲什麼不把所有功能放在一個函數中,而是在一個任務中調用該函數呢? – esskar