Desidero trasferire un file da un modulo a un webworker. In Chrome i semplici possibile utilizzare questo codice per trasferire un FileList-Object:Trasferisci file al webworker: DataCloneError: l'oggetto non può essere clonato
worker.postMessage(files: array_files);
Ma con Firefox ottengo questo errore:
Transfer file to webworker: DataCloneError: The object could not be cloned.
Così ho provato a usare la sintassi per gli oggetti trasferibili. Qualcosa come questo?
var post = {files: array_files, file_ids: response.file_ids};
worker.postMessage(post, [post]);
Ma con che ottengo questo in Chrome
Uncaught DataCloneError: Failed to execute 'postMessage' on 'Worker': Value at index 0 does not have a transferable type.
E ancora
DataCloneError: The object could not be cloned.
in Firefox.
Qual è il modo corretto per passare un FileList a un lavoratore?
C'è un baco di Mozilla https://bugzilla.mozilla.org/show_bug.cgi?id=823484, quindi sei sfortunato a meno che qualcuno non lo risolva. In realtà sono disposto a risolvere il problema, tuttavia non mi piace creare build di Firefox, quindi se qualcuno potesse farmeli, potrei occuparmi del codice – Singagirl
Ho avuto lo stesso problema, "L'oggetto non può essere clonato". perché mi stavo riferendo al param nel mio messaggio. Puoi fornire più codice? – romuleald