我需要在粘贴富文本(HTML)时上传所有图像,然后用从upload API中获取的urls替换它们的urls。所以我试了一下:
const Delta = Quill.import('delta');
this.quill.clipboard.addMatcher('img', async (node, delta) => {
console.log(node, delta);
const url = await new Promise(resolve => {
// upload image
this.props.uploadImageURL({ url: delta.ops[0].insert.image }).then(res => {
if (res.success) {
resolve(res.data.path)
} else {
resolve('')
}
}, () => { resolve('') })
});
if (url) {
return {
ops: [{
insert: {
image: url
}
}]
};
} else {
return new Delta();
}
});然后出现错误:

谁能帮我?
发布于 2018-12-11 18:29:57
在这一点上,您似乎不能使用异步匹配器函数。
以下是不带异步的简化工作示例。一旦您尝试返回一个promise (异步),这将失败:
const Delta = Quill.import('delta');
quill.clipboard.addMatcher('img', (node, delta) => {
console.log(node, delta);
const url = 'http://www.placehold.it/666x333.jpg';
return new Delta().insert({image: url});
});因此,似乎你需要找到一种同步的方式来替换图像。
https://stackoverflow.com/questions/51684797
复制相似问题