我正在尝试创建一个函数,该函数从对象数组构建队列,然后通过调用多个函数来处理每个对象。
处理函数是异步函数,在需要排队之前,我使用 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
我似乎不太明白如何解决这个问题。
使用 ElementUI 我希望能够将文本包装在空格上的列中,而不是在单词的中间。通常你会申请
white-space: normal;
word-wrap: break-word;
Run Code Online (Sandbox Code Playgroud)
在普通列中,或用该样式包装在 div 中,但在使用 ElementUI el-table 和 el-table-column 时,它没有任何效果。我已经尝试将 el-table-column 作为一个类和一个直接应用的样式,但没有任何变化。
有没有人有任何使这项工作的经验?
我是 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)