【发布时间】:2017-11-28 08:07:47
【问题描述】:
我有一个标准的 JavaScript 项目。它主要与一些回调同步。我需要使用 3rd 方库来简化事情。问题是这个库是基于异步方法和 Promises 的。我以前从未真正使用过这种方法。
我有一种情况,我只需要something = get_info(); 代码都是非常模块化的,所以有多个函数调用堆叠起来。问题是这个get_info 是异步的。我只是不知道如何在我的项目中使用这个异步函数,而不必重写整个东西。
编辑:以下是类似代码的示例
function my_class() {
this.do_something( data ) {
if ( this.get_data() == data ) {
do_the_thing();
}
}
this.get_data = function() {
return library.get_info( arguments ); //can't do this, returns a promise
}
}
var stuff = new my_class();
for ( var i = 0; i < len; i++ ) {
stuff.do_something( i )
}
同样,我们的目标是不重写应用程序的整个部分。想法?
【问题讨论】:
-
没有实际代码,除了“学习如何使用异步代码”无话可说
-
是的,我就是这么想的。这是一个非常深入的项目。我将尝试简化一些代码,以举例说明我在说什么。
-
我添加了一些与情况类似的内容,但要简化得多。
-
您发布的代码中没有(明显的)promise,那么您怎么能期望得到关于如何在您的代码中正确使用promise 的答案呢?
-
@JaromandaX,如果我知道该怎么做,我就不会问了。感谢您对我的耐心。问题是 third_party_library.get_info( arguments ) 是返回承诺的内容。我真的需要让函数返回值,但这似乎是不可能的。
标签: javascript asynchronous promise