gpt4 book ai didi

node.js - AWS API 中的回调 Hook

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:16 25 4
gpt4 key购买 nike

有谁知道一种方法或者有人设计了一种巧妙的解决方法来将回调/ Hook 放入 Amazon API (http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/query-apis.html),例如对于像创建实例这样的操作,当实例处于运行状态时,可以简单地通过回调通知?

我想我可以在 node.js 中编写一个循环,简单地检查所需的状态并最终在一定数量的请求后超时,但我想听到更好的编程方法:)

最佳答案

除非 AWS API 支持某种通知端点(我对 API 不太熟悉),否则您可能会陷入轮询。但是,您可以使用 an EventEmitter将其隐藏在公开回调的巧妙 API 后面。伪代码:

// aws_server.js

var EventEmitter = require('events').EventEmitter;
var util = require('util');

function AwsServer(some_data) {
this.data = some_data;
EventEmitter.call(this);
};
util.inherits(AwsServer, EventEmitter);

AwsServer.prototype.createInstance = function() {
// Do something with an API to create an EC2 instance
console.log("Creating instance, data:", this.data);

// Here, you would begin polling for state changes, etc. waiting for
// the server to change state. We will simulate this with a setTimeout call.
setTimeout(function() {
this.emit('running');
}.bind(this), 3000);
};

module.exports = AwsServer;

// somewhere_else.js

var AwsServer = require('./aws_server')

var newServer = new AwsServer('some_data');
newServer.on('running', function() {
console.log('New instance is running');
});

newServer.createInstance();

关于node.js - AWS API 中的回调 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10990182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com