Javascript 未定义分配给变量返回的函数
我创建了一个函数,将剪贴板的内容保存在变量Javascript 未定义分配给变量返回的函数,javascript,ecmascript-6,Javascript,Ecmascript 6,我创建了一个函数,将剪贴板的内容保存在变量文本中 我想将函数输出返回到另一个名为my_text的变量,但我无法这样做。 我必须这样做,因为我想对我的文本应用一些NLP算法 我得到我的\u文本未定义 function paste() { navigator.clipboard.readText() .then(text => { console.log(text); return text }) .catch(err => { console.
文本中
我想将函数输出返回到另一个名为my_text
的变量,但我无法这样做。
我必须这样做,因为我想对我的文本应用一些NLP算法
我得到我的\u文本未定义
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()
是异步的,但我仍然不确定如何将它返回的内容分配给变量。您没有从函数返回任何内容,只返回内部函数
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);
}
}
您没有从粘贴函数返回任何内容。试试这个
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);
}
放置my_text=text代码>在.then()
函数中。谢谢,我也试过了,但是我得到了:[[PromiseStatus]]:“已解决”、[[PromiseValue]]:“未定义”
。我希望返回“文本”。如果我使用替代方法,我得到wait仅在异步函数中有效
Fixed,请立即尝试@Prova12。谢谢,现在[[PromiseValue]]:
包含我想要的文本。我必须找出如何将它分配给我的变量my_text
,因为现在它返回承诺,而我只想返回[[PromiseValue]]:
谢谢,现在[[PromiseValue]]:
包含我想要的文本。我必须找出如何将其分配给我的变量my_text,因为现在它返回承诺,而我只想将其内容分配给[[PromiseValue]]:
您可以将其分配到processtextFuture
函数中,然后对其执行任何操作。