У меня есть база данных Pouchdb, содержащие документы, которые каждый имеет одно прикрепление. blob_content = new Blob ([content], {type: 'text/plain'});
Я могу получить штраф в одном вложении со следующим:
Код: Выделить всё
db_notes.getAttachment(id, 'content.txt').then(function(blob) {
const reader = new FileReader();
reader.readAsText(blob);
reader.onload = () => {
processContent(reader.result);
};
}).catch(function(err) {
console.log(err);
});
< /code>
Но мне нужно получить все документы с извлеченным содержанием Blob.db_notes.allDocs({
include_docs: true
, attachments: true
, binary: true
}).then(function(result) {
allNotesIncContent = result.rows.map(({doc}) => docToDocObj(doc));
console.log("allNotesIncContent\n ", allNotesIncContent );
}).catch(function(err) {
console.log(err);
});
< /code>
и < /p>
function docToDocObj(doc) {
rawBlobData = doc._attachments['content.txt'].data;
rawBlobData.text().then(function(content) {
objToReturn =
{ id: doc._id
, rev: doc._rev
, content: content
}
console.log("objToReturn\n ", objToReturn );
return objToReturn;
}).catch(function(err) {
console.log("Blob.text error: ", err);
});
};
(9) [undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined]
followed by a succession of
objtoreturn
{id: '1756756073636', rev: '1-7bd7518103126469453c4cf04968b189', контент: 'некоторые текст',} < /p>
Это связано с тем, что rawblobdata.text () -асинхронная функция, которая требует слишком много времени, чтобы вернуть свои результаты.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... nous-issue
Мобильная версия