我有一个异步系统,我想完全执行一个函数,直到它完成。我有以下功能。
awaitOnceAsync(socket, successMessage, failMessage) {
let listener;
let timeoutId;
return new Promise((resolve, reject) => {
listen = function () { /** waits for message */}
this._sockets.get(socket).on('data', listen);
}).then(() => {
this._sockets.get(socket).removeListener('data', listen);
});
}
我遇到的问题是我不希望客户端能够在第一个承诺解决之前写入此套接字。
如何在Node中执行此操作?