下面的代码行是什么?
Npm.require('fibers/future');
我在网上看了一些例子,我遇到了一些这样的事情:
Future = Npm.require('fibers/future');
var accessToken = new Future();
在这种情况下,accessToken
变量会是什么?
答案 0 :(得分:8)
问题有点老但我的2美分:
正如摩尔达在评论中所说,未来的主要目的是让异步事物同步运作。
future
实例有3种方法:
future.wait()
基本上告诉你的线程基本上暂停,直到被告知恢复。future.return(value)
,告诉等待future
他可以恢复的第一种方式,它也非常有用,因为它返回一个值等待然后可以被分配,因此像{{1}这样的行其中ret一旦恢复就成为你的返回值。const ret = future.wait()
,非常明确,会使你的阻塞线抛出给定的错误。在javascript中使事物同步可能听起来有点令人不安但它有时很有用。在future.throw(error)
中,当您在Meteor
中链接异步调用并且希望将其结果返回给客户端时,它非常有用。您也可以使用现在Meteor.method
完全支持的Promises
,我已经同时使用了它们并且它有效,它符合您的喜好。
一个简单的例子:
Meteor