Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将异步函数的结果传递给角度模板_Javascript_Angular - Fatal编程技术网

Javascript 如何将异步函数的结果传递给角度模板

Javascript 如何将异步函数的结果传递给角度模板,javascript,angular,Javascript,Angular,我有async function permission(),可以正常工作,但我不知道如何将此函数的结果传递给angular模板 我有一个代码it.ts文件: async havePermission(channelId) { console.log('is private' + ' ' + await this.isPrivateChannel2(channelId)); console.log('in channel' + ' ' + await this.in

我有async function permission(),可以正常工作,但我不知道如何将此函数的结果传递给angular模板

我有一个代码it.ts文件:

async havePermission(channelId) {
        console.log('is private' + ' ' + await this.isPrivateChannel2(channelId));
        console.log('in channel' + ' ' + await this.inChannel(channelId));
        if (await this.isPrivateChannel2(channelId) && !(await this.inChannel(channelId))) {
            console.log('no permission');
            return false;
        } else {
            console.log('have permission');
            return true;
        }
    }

    async permission(channelId) {
        return await this.havePermission(channelId);
    }
}
这是我的模板的一部分:

<app-chat *ngIf="permission(channelId)" [channelId]="channelId"></app-chat>


app chat组件始终显示,即使权限返回false,为什么?

为了将该
承诺的结果(或任何异步操作,也可以观察到)绑定到模板,您需要使用
异步
管道,如:

<app-chat *ngIf="permission(channelId) | async" [channelId]="channelId"></app-chat>

检查
async
管道否,它工作不好,能否将代码发布到使用管道的位置?是的,它工作正常,但我有一个问题。我在权限函数中添加了console.log()。当我尝试删除频道
this.channelId=channel.$key;this.channels.remove(this.channelId)
我有成百上千个console.log(),我的浏览器就死机了。确切地说,这是因为Angular中的变化检测是的,似乎是这样,但我不知道我要做什么才能让它工作。我不想粗鲁,但也许你应该问另一个问题,这样你的问题就会暴露得更多。