小编Roh*_*jam的帖子

为什么等待后的代码不会马上运行?它不应该是非阻塞的吗?

嗨,大家好我很难理解异步和等待在幕后工作.我知道我们有通过使用"then"函数创建非阻塞代码的promise,我们可以在promise解决后放置我们需要做的所有工作.我们希望做的工作与我们希望并行,我们只需将它写在我们的函数之外.因此代码变得非阻塞.但是我不明白如何async await制作非阻塞代码.

async function myAsyncFunction() {
  try {
    let data = await myAPICall('https://jsonplaceholder.typicode.com/posts/1');
    // It will not run this line until it resolves await.
    let result = 2 + 2;
    return data;
  }catch (ex){
    return ex;
  }
}
Run Code Online (Sandbox Code Playgroud)

请参阅上面的代码.在API调用解决之前,我无法继续前进.如果它使我的代码阻止代码,那么它比promises更好吗?或者是有什么我错过了约asyncawait?我在哪里放置不依赖于等待调用的代码?所以它可以继续工作而无需等待执行?

我正在添加一个Promise代码,我希望在async await示例中进行复制.

function myPromiseAPI() {
  myAPICall('https://jsonplaceholder.typicode.com/posts/1')
    .then(function (data) {
        // data
    });
   // runs parallel
  let result = 2 + 2;
}
Run Code Online (Sandbox Code Playgroud)

javascript async-await es6-promise ecmascript-2017

13
推荐指数
1
解决办法
7095
查看次数

排除构建中除一个文件夹之外的所有内容 无服务器模式

我正在开发一个无服务器项目。我想要实现或想知道是否可能的是,当我运行时,sls package我希望无服务器排除根目录中除一个文件夹之外的每个文件/文件夹。

我尝试了多种方法来使用无服务器文件中的模式来完成此操作,但没有任何效果。

package: #This didn't not work
  patterns:
    - '!./**'
    - './dist/**'


package: # This didn't work
  patterns:
    - '!.*/**'
    - './dist/**'
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?因为如果我明确定义特定文件夹,我就能够排除它们。但我无法使用通配符排除整个根目录。

package: # This works and excludes constant folder
  patterns:
    - '!./constants/**'
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过编写脚本来实现它。但我想知道是否可以通过简单地定义模式来通过无服务器框架来完成。

javascript yaml serverless-framework serverless aws-serverless

7
推荐指数
1
解决办法
1644
查看次数