客户端:
io.socket.get('/measurements', {
id: id,
_csrf: csrf,
}, function (resData, jwRes) {
console.log(resData);
});
服务器端:
fn: async function () {
var measurements = [];
if (!this.req.isSocket) {
//error here
} else {
// get measurements, removed this section for readibility
return this.res.status(200).json({
measurements: measurements
});
}
}
这有效,它返回测量值,但它也返回以下错误:
Error: Cannot write to response more than once
我认为这是因为 Sails 在我的响应之后发送了 200 响应,但我不知道如何覆盖 Sails 的响应或将测量值附加到它。
答案 0 :(得分:0)
事实证明,sails 比我想象的要聪明。通过反复试验,我发现我可以替换:
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: aws-sqs-queue-scaledobject
namespace: default
spec:
scaleTargetRef:
name: test-deployment
minReplicaCount: 0
maxReplicaCount: 2
triggers:
- type: aws-sqs-queue
authenticationRef:
name: keda-trigger-auth-aws-credentials
metadata:
queueURL: https://sqs.us-east-1.amazonaws.com/012345678912/Queue
queueLength: "5"
awsRegion: "us-east-1"
与:
return this.res.status(200).json({
measurements: measurements
});
剩下的就交给帆了。