私は純粋なJavascriptでWebsocketを使用しており、Websocket関数にPromisesを実装したいと考えています。私は何の誤りもないが、約束は働かない。Javascript - Websocketで約束を使う?
次のコードを使用すると、ソケットサーバーに正常に接続できますが、警告の出力は常に「失敗」しているためPromiseはスキップされているようです。
この場合、問題が何であるかを誰かが知っていますか? Ps:最新のGoogle Chromeブラウザと最新のMozilla Firefoxブラウザでテストを行いました。この例では、基本的なチェック/エラー処理を省略しました。
function Connect()
{
server = new WebSocket('mysite:1234');
server.onopen = (function()
{
return new Promise(function(resolve, reject)
{
if (true)
{
resolve();
}
else
{
reject();
}
});
}).then = (function()
{
alert('succeeed');
}).catch = (function()
{
alert('failed');
});
}
あなたはどのように正常に接続できると思いますか? – bytesized
FYI:あなたのコードは 'server.onopen'を最後の関数(警告が失敗したもの)に設定します。あなたは' .then'と '.catch'を何かに変更することができます。 {hello: 'ワールド'}) '... xは' {hello: 'world'} 'となり、中間オブジェクト'.then'と' .catch'のプロパティは破棄されます –
説明に感謝します。 – Piet