sách gpt4 ai đã đi

javascript - 在执行代码之前等待 promise 解决

In lại 作者:行者123 更新时间:2023-11-30 16:09:09 hai mươi bốn 4
mua khóa gpt4 Nike

我有一个调用 $http 请求并返回 JSONP 的服务。从 API 返回的 JSONP 是 {valid:true} 或 {valid:false}。我的代码是:

    this.checkValid = function () {
return $http({
method: 'JSONP',
url: 'API' + '?callback=JSON_CALLBACK',
}).then(function (response) {
var temp = response.data.valid;
return temp; //returns true or false


}, function (response) {
console.log('something went wrong');
})
}

我有另一个服务依赖于从 checkValid() 返回的响应:

                var data = requestService.checkValid();
var valid;
//handling the promise
data.then(function (response) {
valid = response;
console.log('Inside the then block : ' + valid);
});

if (valid)
console.log('Valid!');
khác
console.log('Not Valid!');

输出是(在api返回valid:true之后):

'Not valid'
'Not valid'
'Not valid'
'Not valid'
'Inside the then block : true'
'Inside the then block : true'
'Inside the then block : true'
'Inside the then block : true'

我想知道如何等待 then() 完成,将 giá trị Đặt thành ĐÚNG VẬY hoặc SAI,然后转到 nếu như 语句。

1 Câu trả lời

You can never return a value from asynchronous function .

            data.then(function (response) {
valid = response;
console.log('Inside the then block : ' + valid);
});

valid = response是异步的(触发sau đó时会执行)。您不能在该上下文之外使用此值(即在您的 nếu như 中)。如果您需要使用响应,就在 sau đó 函数中使用它,或者返回一个 promise,然后使用另一个 sau đó 继续处理。

关于javascript - 在执行代码之前等待 promise 解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36539879/

hai mươi bốn 4 0
Bài viết được đề xuất: c# - 使用 itextsharp 在标题和段落之间交替
Bài viết được đề xuất: c - 分析 Unix 中 C 语言中每个函数的内存使用情况
Bài viết được đề xuất: c - 如何访问单独头文件中的定义值
Bài viết được đề xuất: javascript - AngularJS 中不显示背景图片
行者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