我正在尝试同步加载 protobuf.js 静态代码(使用 pbjs 生成)。
根据文档,记录的方法是异步的。
异步加载是这样完成的:
protobuf.load("bundle.json", function(err, root) {
...
});
由于我的进一步代码只能在加载完成后执行,我相信同步加载会更好。
有什么方法可以同步加载它还是有任何调整来完成它?
我正在尝试同步加载 protobuf.js 静态代码(使用 pbjs 生成)。
根据文档,记录的方法是异步的。
protobuf.load("bundle.json", function(err, root) {
...
});
由于我的进一步代码只能在加载完成后执行,我相信同步加载会更好。
有什么方法可以同步加载它还是有任何调整来完成它?
Protobuf.js 有同步加载方式
您可以通过异步加载完全实现您想要的。只需将您的更多代码放入回调中,或者不添加回调并将您的更多代码添加到返回的 Promise 的 .then 方法中。
protobuf.js 可以与loadSync
. 遵循示例代码
const protoPath = __dirname + "/proto"
const files = (fs.readdirSync(protoPath))
.filter(file => file.split('.').pop() === 'proto')
const root: protobuf.Root = protobuf.loadSync(files)