Asynchronous 从meteor异步函数客户端传递数据
我试图将数据从异步函数发送到html页面。我已经成功地使用了Meteor的wrapAsync,我可以在控制台中记录我想要的数据数组。但是,返回数据时,数据不会传播到html。当我将数据数组从控制台复制粘贴到body.js文件中时,一切正常。因此,我是如何返回有缺陷的对象的。任何提示谢谢 Body.js文件Asynchronous 从meteor异步函数客户端传递数据,asynchronous,meteor,client,Asynchronous,Meteor,Client,我试图将数据从异步函数发送到html页面。我已经成功地使用了Meteor的wrapAsync,我可以在控制台中记录我想要的数据数组。但是,返回数据时,数据不会传播到html。当我将数据数组从控制台复制粘贴到body.js文件中时,一切正常。因此,我是如何返回有缺陷的对象的。任何提示谢谢 Body.js文件 import { Meteor } from 'meteor/meteor'; import { Template } from 'meteor/templating'; import {
import { Meteor } from 'meteor/meteor';
import { Template } from 'meteor/templating';
import { multichainuser } from '../api/permissions.js';
import './body.html';
Template.body.helpers({
permissions: function(){
var information = {};
Meteor.call('mListPermissions', function(err, result){
console.log(result);
return result;
});
},
});
body.html:
<body>
<div class="container">
<header>
<h1>Permissions</h1>
</header>
<ul>
{{#each permissions}}
{{> permission}}
{{/each}}
</ul>
</div>
</body>
<template name="permission">
<li>{{address}}</li>
<li>{{type}}</li>
</template>
有几种方法可以解决这个问题。请查看反应性方法包: 另一种选择是使用反应式变量。在模板的oncreated中创建一个被动变量。然后调用方法whos callback更新被动变量。在helper中,您只需从被动变量获取值
import { Meteor } from 'meteor/meteor';
var multichainuser = require("multichain-node");
Meteor.methods({
mListPermissions: function() {
var lPSync=Meteor.wrapAsync(multichainuser.listPermissions, multichainuser);
var result = lPSync({});
return result;
}
});