Javascript 如何从本身使用promise的函数返回promise?
我想做的基本上是Javascript 如何从本身使用promise的函数返回promise?,javascript,node.js,promise,Javascript,Node.js,Promise,我想做的基本上是 function test() { getSomeValue().then(function (data) { //process data }); } function getSomeValue() { //do some long process return new Promise(function (resolve, reject) { resolve(result); }); } function getSomeOtherValue() { //
function test() {
getSomeValue().then(function (data) {
//process data
});
}
function getSomeValue() {
//do some long process
return new Promise(function (resolve, reject) {
resolve(result);
});
}
function getSomeOtherValue() {
//do some long process
return new Promise(function (resolve, reject) {
resolve(result);
});
}
Function test调用一个函数,该函数返回一个承诺,然后对返回的数据执行一些计算。这部分很好用。现在函数getSomeValue需要调用另一个函数,该函数也返回一个承诺。如何从getSomeOtherValue返回一个承诺,该承诺也会等待getSomeOtherValue完成
如果需要任何其他信息,请告诉我。您可以将getSomeOtherValue链接到getSomeValue中:
如果您希望切换订单,则:
function getSomeValue() {
//do some long process
return getSomeOtherValue().then(function () {
return new Promise(function (resolve, reject) {
resolve(result);
});
}
}
然而,这仅用于说明。您可以设计您的承诺,以便在更高的层次上有效地链接它们:
function test() {
getSomeOtherValue()
.then(getSomeValue)
.then(function (data) {
//process data
});
}
要等待解析getSomeOtherValue函数,需要解析getSomeOtherValue函数返回的承诺中getSomeOtherValue函数的承诺。下面的代码应该很有意义
function test() {
getSomeValue().then(function (data) {
//process data
});
}
function getSomeValue() {
//do some long process
return new Promise(function (resolve, reject) {
getSomeOtherValue().then(function (data) {
resolve(result);
});
});
}
function getSomeOtherValue() {
//do some long process
return new Promise(function (resolve, reject) {
resolve(result);
});
}
要在getSomeOtherValue之前从getSomeOtherValue获取值,只需先调用getSomeOtherValue函数,然后与另一个函数链接以处理getSomeValue的值,最后将结果返回给调用方测试函数
function getSomeValue() {
//do some long process
return getSomeOtherValue().then(function(resultFromSomeOtherValue) {
return new Promise(function (resolve, reject) {
var result = true; //some value after process;
return resolve(result);
});
});
}
您可以进行链接,.then.then….实际上,在调用getSomeOtherValue之前需要调用它。我需要来自getSomeOtherValue的数据,然后根据添加的解释生成响应
function getSomeValue() {
//do some long process
return getSomeOtherValue().then(function(resultFromSomeOtherValue) {
return new Promise(function (resolve, reject) {
var result = true; //some value after process;
return resolve(result);
});
});
}