我正在使用一个没有自己超时的子进程的承诺。我尝试过Promise Bluebird的race
方法,它正在抛出但仍悬挂着控制台。
const done = () => Promise.delay(500).then(() => throw new Error('timeout')
const fire = () => Promise.race([promiseHangs(url), done()])
fire().then(console.log)
如何解决promiseHangs
承诺并停止运行异步进程?
答案 0 :(得分:1)
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/bottompanel"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragment_frame"/>
</LinearLayout>
的结果是抛出的错误。你最好使用const done = () => Promise.delay(500).then(() => throw new Error('timeout')
根据文档,Promise.reject('timeout')
方法将返回第一个结果,并且不会允许您获胜的拒绝值。
所以Promise.any
应该有用。