小编Ros*_*don的帖子

async.queue 带有 async/await 风格的函数

我正在尝试创建一个函数,该函数从对象数组构建队列,然后通过调用多个函数来处理每个对象。

处理函数是异步函数,在需要排队之前,我使用 async/await 模式实现。我认为这是必要的,因为每个都依赖于前一个的输出,我不想有大量的嵌套 promise.then

即以前我有:

await Promise.all(messages.map(async(message) => {
    let activity = await activityController.getActivity(message.activityId);
    let url = await SMSController.getUrl(message.Token);
    let smsSendResult = await SMSController.sendSMS(messageString, activity.mobileNo);
    // etc...
}
Run Code Online (Sandbox Code Playgroud)

现在我想要做的是:

let queue = async.queue((message, done) => {
     let activity = await activityController.getActivity(message.activityId);
     let smsSendResult = await SMSController.sendSMS(messageString, activity.mobileNo);
    // etc...
}

messages.forEach((message) => {
    queue.push(message);
})
Run Code Online (Sandbox Code Playgroud)

我有问题,虽然这会导致

SyntaxError: await is only valid in async function

我似乎不太明白如何解决这个问题。

javascript queue async-await

5
推荐指数
1
解决办法
3122
查看次数

ElementUI - 如何自动换行:el-table-column 中的断字

使用 ElementUI 我希望能够将文本包装在空格上的列中,而不是在单词的中间。通常你会申请

white-space: normal;
word-wrap: break-word;
Run Code Online (Sandbox Code Playgroud)

在普通列中,或用该样式包装在 div 中,但在使用 ElementUI el-table 和 el-table-column 时,它没有任何效果。我已经尝试将 el-table-column 作为一个类和一个直接应用的样式,但没有任何变化。

有没有人有任何使这项工作的经验?

javascript css element-ui

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

如何引用 SAM 模板中定义的角色?

我是 AWS SAM 模板的新手,希望能够使用一系列策略创建角色,然后为 Lambda 函数引用该角色。但是,当我尝试部署时出现以下错误:

'role' 处的值 'MyRole' 未能满足约束:成员必须满足正则表达式模式:arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a -zA-Z_0-9+=,.@-_/]+

这个答案提到我可以将策略直接添加到函数中,但我会有很多需要相同策略的函数,所以这不是一个非常 DRY 的方法 IAM 模板中的 IAM 角色

!GetAtt新创建的角色无法使用的问题吗?

这是我的template.yml样子:

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
  OMW Backend Services

Globals:
  Function:
    Timeout: 3

Resources:

  MyRole:
    Type: AWS::IAM::Role
    Properties:
      ManagedPolicyArns:
        - 'arn:aws:iam::aws:policy/service-role/AmazonRDSFullAccess'
        - 'arn:aws:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs'
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          -
            Effect: Allow
            Principal:
              Service:
                - 'lambda.amazonaws.com'
            Action:
              - 'sts:AssumeRole'
      Policies:       
          PolicyName: 'ParameterStoreDevParameterAccess'
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              -
                Effect: Allow
                Action:
                  - 'ssm:GetParameter*'
                Resource: !Sub 'arn:aws:ssm:${AWS::Region}:${AWS::AccountId}:parameter/dev/*'
        -
          PolicyName: 'ParameterStoreDevLambdaBasicExecution' …
Run Code Online (Sandbox Code Playgroud)

aws-cloudformation aws-lambda aws-sam

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