gpt4 book ai didi

meteor - 如何在客户端使用 Meteor.wrapAsync?

转载 作者:行者123 更新时间:2023-12-04 15:43:19 25 4
gpt4 key购买 nike

在我的 Meteor 客户端代码中,我尝试使用只有异步调用的第三方 API。如何在客户端上使用 Meteor.wrapAsync 以同步方式调用此 API?文档似乎表明这是可能的:http://docs.meteor.com/#/full/meteor_wrapasync

这是我想以同步方式调用的一些示例代码:

var func1 = function(callback) {
Meteor.setTimeout(function() {
console.log('func1 executing');
callback(null, {success: true});
}, 2000);
};

var func2 = function(callback) {
Meteor.setTimeout(function() {
console.log('func2 executing');
callback(null, {success: true});
}, 1000);
};

var wrapped1 = Meteor.wrapAsync(func1);
var wrapped2 = Meteor.wrapAsync(func2);

Template.test.rendered = function() {
wrapped1();
console.log('After wrapped1()');
wrapped2();
console.log('After wrapped2()');
};

目前,这会产生以下输出:
After wrapped1()
After wrapped2()
func2 executing
func1 executing

我希望它产生:
func1 executing    
After wrapped1()
func2 executing
After wrapped2()

我已将此代码放入 MeteorPad 中: http://meteorpad.com/pad/fLn9DXHf7XAACd9gq/Leaderboard

最佳答案

Meteor.wrapAsync为了同构代码在客户端上工作。这样您就可以编写可以在客户端和服务器上共享的代码,而不会导致 Meteor 崩溃或提示。

客户端上不可能有同步代码。至少不使用并非在所有浏览器上都可用的 ES6 功能。

正如 saeimeunt 的评论一样 Meteor.wrapAsync 将需要在客户端上进行回调。

关于meteor - 如何在客户端使用 Meteor.wrapAsync?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29478707/

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