草庐IT

javascript - 在 async/await 上返回多个变量

我想知道是否有一种方法可以在不返回数组或JavaScript对象的情况下获取第二个resolve值(test2)。functiontestFunction(){returnnewPromise(function(resolve,reject){resolve("test1","test2");});}asyncfunctionrun(){varresponse=awaittestFunction();console.log(response);//test1}run(); 最佳答案 您只能传递一项。但是从ES6开始有一个很好的特性叫

javascript - await 的异步映射函数返回 Promise 而不是值

我有这个代码asyncfunctionaddFiles(dir,tree){return(awaitreadDir(dir)).map(async(name)=>{awaitreadDir(dir);returnname;})}但不幸的是,它只返回一堆promise,因为map中的异步函数没有被等待。我想知道是否有任何方法可以等待上面代码中的映射函数。 最佳答案 尝试asyncfunctionaddFiles(dir,tree){constfiles=awaitreadDir(dir)awaitPromise.all(files.m

javascript - 为什么这个 JavaScript async/await 代码没有按预期运行?

我已经尝试阅读有关异步/等待的指南和教程,但我似乎无法在任何地方找到解决这个问题的方法。这里是有问题的代码:varfunc1=newPromise((resolve,reject)=>{console.log("Func1");setTimeout(()=>{resolve(10);},100);});varfunc2=newPromise((resolve,reject)=>{console.log("Func2");setTimeout(()=>{resolve(20);},5000);})letrun=async()=>{letvar1=awaitfunc1;letvar2=aw

javascript - ES2017 Async/await 函数 - 它们只适用于 promises 吗?

我开始在我的js应用程序(由Babel转译)中使用async/awaitES7函数。如果错了请纠正我,但它们只适用于Promises吗?如果是,这意味着我需要将常规回调函数包装到Promises中(顺便说一句,我目前正在做的事情)。 最佳答案 当前(也可能是最终的)async/await提案等待promises和脱糖成类似bluebird的Promise.coroutine的东西,其中await扮演yield.这是有道理的,因为promise代表值(value)+时间,而您正在等待该值(value)可用。注意await也在所有其他包

javascript - async/await 不能与 fetch 结合使用

我正在尝试将ES7async/await与fetch一起使用。我知道我很接近,但我无法让它工作。这是代码:classBar{asyncload(){leturl='https://finance.yahoo.com/webservice/v1/symbols/goog/quote?format=json';try{response=awaitfetch(url);returnresponse.responseText;}catch(e){returne.message;}}}我使用如下:letbar=newBar();bar.load().then(function(val){cons

javascript - JSHint 无法识别 Visual Studio Code (VSCode) 中的 Async/Await 语法

我一直在努力使用VSCode和JSHint来寻找摆脱这种语法高亮显示的方法。似乎JSHint无法识别Async/Await语法。在这里您可以找到我正在谈论的内容的屏幕截图。我的JSHint版本:jshint-esnextv2.7.0-3 最佳答案 在visualstudiocode中,JSHint和ESLint相互抵消。所以如果你想在vscode中使用异步函数,那么你必须禁用Jshint并启用eslint。 关于javascript-JSHint无法识别VisualStudioCode(

javascript - ES7 中新的 async 和 await 关键字是从 C# 复制过来的吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion注意到Java中没有async和await,ES7中的这些新关键字是从C#语言复制而来的?我很好奇起源:谁提出了关键字名称,JS社区中是否有人正在利用.NET框架的概念?

javascript - 为什么 await 之后的代码没有立即运行?它不应该是非阻塞的吗?

我很难理解async和await在幕后是如何工作的。我知道我们有promise,通过使用“then”函数可以使我们的代码成为非阻塞代码,我们可以在promise得到解决后放置我们需要做的所有工作。以及我们想要并行进行的工作,以保证我们只是将它写在我们的then函数之外。因此代码变得非阻塞。但是我不明白asyncawait是如何生成非阻塞代码的。asyncfunctionmyAsyncFunction(){try{letdata=awaitmyAPICall('https://jsonplaceholder.typicode.com/posts/1');//Itwillnotrunthi

javascript - 当您忘记 `await` Javascript 中的异步函数时如何发出警告?

我正在使用Babel和Webpack。如果我忘记await一个异步函数,它通常会被忽视。偶尔,如果我忘记了await,异步函数就会出错,我会收到Unhandledpromiserejection。然后,我意识到我忘记了await。当我忘记添加await时,有没有办法得到警告? 最佳答案 no-floating-promisesESLint规则要求您显式处理任何promise(例如使用await或void)。这是用于TypeScript的最小.eslintrc。请注意,此规则需要parserOptions:{"root":true,"

javascript - async/await 可以在构造函数中使用吗?

正如问题所述。我可以这样做吗:classMyClass{asyncconstructor(){returnnewPromise()}} 最佳答案 为了扩展PatrickRoberts所说的内容,您不能按照您的要求去做,但您可以改为这样做:classMyClass{constructor(){//staticinitialization}asyncinitialize(){awaitWhatEverYouWant();}staticasynccreate(){consto=newMyClass();awaito.initialize(