我创建了一个函数,该函数将剪贴板中的内容保存在变量text
中。
我想将函数输出返回到另一个名为my_text
的变量,但是我不能这样做。
我必须这样做,因为我想将一些NLP算法应用于my_text
我得到my_text is undefined
function paste() {
navigator.clipboard.readText()
.then(text => {
console.log(text);
return text
})
.catch(err => {
console.error("Failed to read clipboard contents: ", err);
});
}
var my_text = paste()`
我认为是因为我的函数paste()
是异步的,但是我仍然不确定如何将它返回的内容赋给变量。
答案 0 :(得分:1)
您不会从函数中返回任何内容,而只是返回内部函数。
return navigator.clipboard.readText().then(...).catch(...);
或者,使用async
函数。
async function paste() {
try {
const text = await navigator.clipboard.readText();
console.log(text);
return text;
} catch(er) {
console.log(err);
}
}
答案 1 :(得分:0)
您没有从粘贴函数返回任何内容。尝试这个。
function paste() {
navigator.clipboard
.readText()
.then(text => {
//call another function
//or simply do the paste operation here
processTextFurther(text);
})
.catch(err => {
console.error("Failed to read clipboard contents: ", err);
});
}
function processTextFurther(copiedText) {
console.log(copiedText);
}