sách gpt4 ai đã đi

Đang chờ ".then" giải quyết

In lại 作者:行者123 更新时间:2023-12-03 03:53:16 30 4
mua khóa gpt4 Nike

我一直对“然后”不被等待的行为感到困扰,我明白其原因。然而,我仍然需要绕过它。这是我的用例。

doWork(family) {
return doWork1(family)
.then(resultOfWork1 => doWork2(resultOfWork1));
}

doWork1(family) {
if (1 === family) {
return doFamily1();
} khác {
return doFamily2();
}
}

doFamily1() {
return $http(urlToFamily1)
.then(response => parseFamily1Result(response));
}

parseFamily1Result(response) {
return parsed response in a family1 way;
}

doFamily2() {
return $http(urlToFamily2)
.then(response => parseFamily2Result(response));
}

parseFamily2Result(response) {
return parsed response in a family2 way;
}

doWork2(resultOfWork1) {
// use resultOfWork1
}

我正在做的事情的问题是,在 doWork2 中,resultOfWork1 未定义,因为在到达 doWork2 之前不需要执行“then” promise 。

有没有办法保证“然后”的实现?或者说这种做事方式有什么问题吗?

1 Câu trả lời

您错误地链接了 Promise。

Còn hơn là

doWork(family) {
return doWork1(family)
.then(doWork2(resultOfWork1));
}

更改为

doWork(family) {
return doWork1(family)
.then(function(resultOfWork1){ doWork2(resultOfWork1); });
}

hoặc

doWork(family) {
return doWork1(family)
.then(doWork2);
}

您还需要对以下代码进行类似的更改。

$http(urlToFamily1)
.then(parseFamily1Result(response));

$http(urlToFamily2)
.then(parseFamily2Result(response));

关于javascript - 等待 ".then"解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45081738/

30 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com