gpt4 book ai didi

javascript - 带有 node.js promise 的 RPC

转载 作者:行者123 更新时间:2023-12-01 14:45:01 26 4
gpt4 key购买 nike

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












我们不允许提出有关书籍、工具、软件库等建议的问题。您可以编辑问题,以便可以用事实和引用来回答它。


1年前关闭。







Improve this question




是否有任何适用于 Promise 的 RPC 模块?

在服务器上,我有返回 promise 的函数。我想公开它们以供浏览器客户端调用 websockts 或后备。我找到了一些 RPC 库,例如 dnode,但他们希望回调作为参数。

我想要这样的东西:

服务器:

rpc.expose({
超时:函数(时间){
var d = Q.defer();
设置超时(函数(){
d.resolve();
}, 时间);
返回 d.promise;
}
});

客户:

rpc.timeout(2000).then(function() {
console.log('完成');
});

最佳答案

我编写了一个名为 Wildcard API 的 RPC 实现。这可以让你做到这一点:

// Node.js server

const { server } = require('@wildcard-api/server');

// We define a `timeout` function on the server
server.timeout = function({seconds}) {
await sleep({seconds});
};

function sleep({seconds}) {
return new Promise(resolve => setTimeout(resolve, seconds * 1000));
}
// Browser

import { server } from '@wildcard-api/client';

(async () => {
// Wildcard makes our `timeout` function available in the browser
await server.timeout({seconds: 2});
// 2 seconds later...
console.log('done');
})();

关于javascript - 带有 node.js promise 的 RPC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21708297/

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