gpt4 book ai didi

javascript - Meteor.call ("function",arg) 不同步发生

转载 作者:搜寻专家 更新时间:2023-10-31 22:50:49 26 4
gpt4 key购买 nike

我目前没有得到以下函数的任何返回值,尽管有人建议这是一个同步调用。如果我异步执行此操作(即 function(error, blah) { console.log(blah); }),我会得到正确的预期输出。

Template.file_nav.files = function(path) {
path = path || "/";
var x = Meteor.call('get_files', path);
return x;
}

这是“get_files”方法的服务器端代码:

  Meteor.methods( {
get_files : function get_files(path) {
return [
{ "name" : " bob" }, { "name" : "alice" },
];
}

另外,这里是正确调用的 HTML 部分,以防相关:

<template name="file_nav">
<div>
<ul style="dirnav">
{{#each files}}
{{#if isDirectory this}}
<li><a href="javascript:void(0)" onclick="get_directory('{{name}}')">{{
{{else}}
<li><a href="javascript:void(0)" onclick="get_file('{{name}}')">{{name}
{{/if}}
{{/each}}
</ul>
</div>
</template>

最佳答案

如果您阅读相关文档 (http://docs.meteor.com/#meteor_call) 的正文,您会看到它说:

“在客户端,如果你不传递回调并且你不在 stub 中,调用将返回未定义,你将无法获得方法的返回值”

所以您看到的行为是您应该期望的。我认为此处的文档可能更清晰一些。

关于javascript - Meteor.call ("function",arg) 不同步发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13368456/

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