У меня возникли трудности с пониманием того, где именно я должен реализовать wrapAsync/bindEnvironment в коде, над которым я работаю. Я обращаюсь к URL-адресу с http/knox и загружаю его в свой ведро S3, которое работает, но когда я пытаюсь вызвать функцию в обратном вызове, меня поражает Meteor code must always run within a Fiber
.Проблема с метеорным волокном с обратным вызовом в knox
Я попытался обернуть обратный вызов в bindEnvironment и попытался использовать wrapAsync, но, должно быть, не понял точно, как это работает. Любое руководство будет принята с благодарностью!
http.get(imageUrl, function(res) {
let headers = {
'Content-Length': res.headers['content-length']
, 'Content-Type': res.headers['content-type']
};
S3.knox.putStream(res, `/${imageName}`, headers, function(err, res) {
if (err) {
log.error(`(imageUpload): Error uploading image with knox: ${err}`);
} else {
let amazonImagePath = `https://s3.amazonaws.com/${bucketName}/${imageName}`;
// TODO Figure out why fiber issue is happening with expenseInsert in callback
expenseInsert(expenseObj, amazonImagePath);
}
});
});